前端问题总结——第一篇_如何测试前端代码? 知道 bdd, tdd, unit test 么? 知道怎么测试你的前端工程么-程序员宅基地

技术标签: 问题总结  前端面试题  查漏补缺  前端自测问题总结  前端问题汇总  

综述:前端的功力在于平时的积累和思考,短暂的突击是不能有一个质的飞跃的,要平时就有深刻的认识,找工作前看这些问题仅仅是对已有知识的总结而已,且不可临时抱佛脚。

有道云笔记中积累的面试问题:

初中级:

http://note.youdao.com/noteshare?id=6ad87aebff4c118c60763c66b6fe00ab&sub=F17D2BDDAC3B4E06B1C3062459DA9066

微信汇总试题:

http://note.youdao.com/noteshare?id=685de1402d0ced3eb7cd8b728bc0d9e5&sub=AC1920E9661447689281F0376F0D7F17//note.youdao.com/noteshare?id=08b82a60666b19ba8520a8c44d09eeb1&sub=BE758C8397C94CBBB0F2E322266E8FD1

最全面的:

http://note.youdao.com/noteshare?id=08b82a60666b19ba8520a8c44d09eeb1&sub=BE758C8397C94CBBB0F2E322266E8FD1

HTML部分

  • Doctype作用?严格模式与混杂模式如何区分?它们有何意义?

  • HTML5 为什么只需要写 <!DOCTYPE HTML>?

  • 行内元素有哪些?块级元素有哪些? 空(void)元素有那些?

  • 页面导入样式时,使用link和@import有什么区别? 现在已经基本不适用@import方法来引入样式了;

  • 介绍一下你对浏览器内核的理解?

浏览器内核分为UI渲染引擎和js解析引擎;不同的内核其对样式的解读存在一定的差异;

  • 常见的浏览器内核有哪些?

  • html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

  • 简述一下你对HTML语义化的理解?

  • HTML5的离线储存怎么使用,工作原理能不能解释一下?

  • 浏览器是怎么对HTML5的离线储存资源进行管理和加载的呢?

  • 请描述一下 cookies,sessionStorage 和 localStorage 的区别?

  • iframe有那些缺点?

  • Label的作用是什么?是怎么用的?(加 for 或 包裹)

  • HTML5的form如何关闭自动完成功能?

  • 如何实现浏览器内多个标签页之间的通信? (阿里)

  • webSocket如何兼容低浏览器?(阿里)

  • 页面可见性(Page Visibility)API 可以有哪些用途?

  • 如何在页面上实现一个圆形的可点击区域?

  • 实现不使用 border 画出1px高的线,在不同浏览器的Quirksmode和CSSCompat模式下都能保持同一效果。

  • 网页验证码是干嘛的,是为了解决什么安全问题?

  • tite与h1的区别、b与strong的区别、i与em的区别?

CSS部分:

  • 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的?

  • CSS选择符有哪些?哪些属性可以继承?

  • CSS优先级算法如何计算?

  • CSS3新增伪类有那些?

  • 如何居中div?如何居中一个浮动元素?如何让绝对定位的div居中?

  • display有哪些值?说明他们的作用。

  • position的值relative和absolute定位原点是?

  • CSS3有哪些新特性?

  • 请解释一下CSS3的Flexbox(弹性盒布局模型),以及适用场景?

  • 用纯CSS创建一个三角形的原理是什么?

  • 一个满屏 品 字布局 如何设计?

  • 常见兼容性问题?

  • li与li之间有看不见的空白间隔是什么原因引起的?有什么解决办法?

  • 经常遇到的浏览器的兼容性有哪些?原因,解决方法是什么,常用hack的技巧 ?

  • 为什么要初始化CSS样式。

  • absolute的containing block计算方式跟正常流有什么不同?

  • CSS里的visibility属性有个collapse属性值是干嘛用的?在不同浏览器下以后什么区别?

  • position跟display、margin collapse、overflow、float这些特性相互叠加后会怎么样?

  • 对BFC规范(块级格式化上下文:block formatting context)的理解?

  • CSS权重优先级是如何计算的?

  • 请解释一下为什么会出现浮动和什么时候需要清除浮动?清除浮动的方式

  • 移动端的布局用过媒体查询吗?

  • 使用 CSS 预处理器吗?喜欢那个?

  • CSS优化、提高性能的方法有哪些?

  • 浏览器是怎样解析CSS选择器的?

  • 在网页中的应该使用奇数还是偶数的字体?为什么呢?

  • margin和padding分别适合什么场景使用?

  • 抽离样式模块怎么写,说出思路,有无实践经验?[阿里航旅的面试题]

  • 元素竖向的百分比设定是相对于容器的高度吗?

  • 全屏滚动的原理是什么?用到了CSS的那些属性?

  • 什么是响应式设计?响应式设计的基本原理是什么?如何兼容低版本的IE?

  • 视差滚动效果,如何给每页做不同的动画?(回到顶部,向下滑动要再次出现,和只出现一次分别怎么做?)

  • ::before 和 :after中双冒号和单冒号 有什么区别?解释一下这2个伪元素的作用。

  • 如何修改chrome记住密码后自动填充表单的黄色背景 ?

  • 你对line-height是如何理解的?

  • 设置元素浮动后,该元素的display值是多少?(自动变成display:block)

  • 怎么让Chrome支持小于12px 的文字?

  • 让页面里的字体变清晰,变细用CSS怎么做?(-webkit-font-smoothing: antialiased;)

  • font-style属性可以让它赋值为“oblique” oblique是什么意思?

  • position:fixed;在android下无效怎么处理?

  • 如果需要手动写动画,你认为最小时间间隔是多久,为什么?(阿里)

  • display:inline-block 什么时候会显示间隙?(携程)

  • overflow: scroll时不能平滑滚动的问题怎么处理?

  • 有一个高度自适应的div,里面有两个div,一个高度100px,希望另一个填满剩下的高度。

  • png、jpg、gif 这些图片格式解释一下,分别什么时候用。有没有了解过webp?

  • 什么是Cookie 隔离?(或者说:请求资源的时候不要让它带cookie怎么做)

  • style标签写在body后与body前有什么区别?

JavaScript部分

  • 介绍JavaScript的基本数据类型。

  • 说说写JavaScript的基本规范?

  • JavaScript原型,原型链 ? 有什么特点?

  • JavaScript有几种类型的值?(堆:原始数据类型和 栈:引用数据类型),你能画一下他们的内存图吗?

  • Javascript如何实现继承?

  • Javascript创建对象的几种方式?

  • Javascript作用链域?

  • 谈谈This对象的理解。

  • eval是做什么的?

  • 什么是window对象? 什么是document对象?

  • null,undefined的区别?

  • 写一个通用的事件侦听器函数(机试题)。

  • [“1”, “2”, “3”].map(parseInt) 答案是多少?

  • 关于事件,IE与火狐的事件机制有什么区别? 如何阻止冒泡?

  • 什么是闭包(closure),为什么要用它?

  • javascript 代码中的”use strict”;是什么意思 ? 使用它区别是什么?

  • 如何判断一个对象是否属于某个类?

  • new操作符具体干了什么呢?

  • 用原生JavaScript的实现过什么功能吗?

  • Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?

  • 对JSON的了解?

  • [].forEach.call($$("*"),function(a){ a.style.outline="1px solid #"+(~~(Math.random()*(1<<24))).toString(16) }) 能解释一下这段代码的意思吗?

  • js延迟加载的方式有哪些?

  • Ajax 是什么? 如何创建一个Ajax?

  • 同步和异步的区别?

  • 如何解决跨域问题?

  • 页面编码和被请求的资源编码如果不一致如何处理?

  • 模块化开发怎么做?

  • AMD(Modules/Asynchronous-Definition)、CMD(Common Module Definition)规范区别?

  • requireJS的核心原理是什么?(如何动态加载的?如何避免多次加载的?如何 缓存的?)

  • 让你自己设计实现一个requireJS,你会怎么做?

  • 谈一谈你对ECMAScript6的了解?

  • ECMAScript6 怎么写class么,为什么会出现class这种东西?

  • 异步加载的方式有哪些?

  • documen.write和 innerHTML的区别?

  • DOM操作——怎样添加、移除、移动、复制、创建和查找节点?

  • .call() 和 .apply() 的含义和区别?

  • 数组和对象有哪些原生方法,列举一下?

  • JS 怎么实现一个类。怎么实例化这个类

  • JavaScript中的作用域与变量声明提升?

  • 如何编写高性能的Javascript?

  • 那些操作会造成内存泄漏?

  • JQuery的源码看过吗?能不能简单概况一下它的实现原理?

  • jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this?

  • jquery中如何将数组转化为json字符串,然后再转化回来?

  • jQuery 的属性拷贝(extend)的实现原理是什么,如何实现深拷贝?

  • jquery.extend 与 jquery.fn.extend的区别?

  • jQuery 的队列是如何实现的?队列可以用在哪些地方?

  • 谈一下Jquery中的bind(),live(),delegate(),on()的区别?

  • JQuery一个对象可以同时绑定多个事件,这是如何实现的?

  • 是否知道自定义事件。jQuery里的fire函数是什么意思,什么时候用?

  • jQuery 是通过哪个方法和 Sizzle 选择器结合的?(jQuery.fn.find()进入Sizzle)

  • 针对 jQuery性能的优化方法?

  • Jquery与jQuery UI有啥区别?

  • JQuery的源码看过吗?能不能简单说一下它的实现原理?

  • jquery 中如何将数组转化为json字符串,然后再转化回来?

  • jQuery和Zepto的区别?各自的使用场景?

  • 针对 jQuery 的优化方法?

  • Zepto的点透问题如何解决?

  • jQueryUI如何自定义组件?

  • 需求:实现一个页面操作不会整页刷新的网站,并且能在浏览器前进、后退时正确响应。给出你的技术实现方案?

  • 如何判断当前脚本运行在浏览器还是node环境中?(阿里)

  • 移动端最小触控区域是多大?

  • jQuery 的 slideUp动画 ,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,该如何处理呢?

  • 把 Script 标签 放在页面的最底部的body封闭之前 和封闭之后有什么区别?浏览器会如何解析它们?

  • 移动端的点击事件的有延迟,时间是多久,为什么会有? 怎么解决这个延时?(click 有 300ms 延迟,为了实现safari的双击事件的设计,浏览器要知道你是不是要双击操作。)

  • 知道各种JS框架(Angular, Backbone, Ember, React, Meteor, Knockout…)么? 能讲出他们各自的优点和缺点么?

  • Underscore 对哪些 JS 原生对象进行了扩展以及提供了哪些好用的函数方法?

  • 解释JavaScript中的作用域与变量声明提升?

  • 那些操作会造成内存泄漏?

  • JQuery一个对象可以同时绑定多个事件,这是如何实现的?

  • Node.js的适用场景?

  • (如果会用node)知道route, middleware, cluster, nodemon, pm2, server-side rendering么?

  • 解释一下 Backbone 的 MVC 实现方式?

  • 什么是“前端路由”?什么时候适合使用“前端路由”? “前端路由”有哪些优点和缺点?

  • 知道什么是webkit么? 知道怎么用浏览器的各种工具来调试和debug代码么?

  • 如何测试前端代码么? 知道BDD, TDD, Unit Test么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?

  • 前端templating(Mustache, underscore, handlebars)是干嘛的, 怎么用?

  • 简述一下 Handlebars 的基本用法?

  • 简述一下 Handlerbars 的对模板的基本处理流程, 如何编译的?如何缓存的?

  • 用js实现千位分隔符?(来源:前端农民工,提示:正则+replace)

  • 检测浏览器版本版本有哪些方式?

  • 我们给一个dom同时绑定两个点击事件,一个用捕获,一个用冒泡,你来说下会执行几次事件,然后会先执行冒泡还是捕获

其他问题

1.原来公司工作流程是怎么样的,如何与其他人协作的?如何夸部门合作的?

2.你遇到过比较难的技术问题是?你是如何解决的?

3.设计模式 知道什么是singleton, factory, strategy, decrator么?

4.常使用的库有哪些?常用的前端开发工具?开发过什么应用或组件?

5.页面重构怎么操作?

6.列举IE与其他浏览器不一样的特性?

7.99%的网站都需要被重构是那本书上写的?

8.什么叫优雅降级和渐进增强?

9.是否了解公钥加密和私钥加密。

10.WEB应用从服务器主动推送Data到客户端有那些方式?

11.对Node的优点和缺点提出了自己的看法?

12.你有用过哪些前端性能优化的方法?

13.http状态码有那些?分别代表是什么意思?

14.一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?(流程说的越详细越好)

15.部分地区用户反应网站很卡,请问有哪些可能性的原因,以及解决方法?

16.从打开app到刷新出内容,整个过程中都发生了什么,如果感觉慢,怎么定位问题,怎么解决?

17.除了前端以外还了解什么其它技术么?你最最厉害的技能是什么?

18.你用的得心应手用的熟练地编辑器&开发环境是什么样子?

19.对前端界面工程师这个职位是怎么样理解的?它的前景会怎么样?

20.你怎么看待Web App 、hybrid App、Native App?

21.你移动端前端开发的理解?(和 Web 前端开发的主要区别是什么?)

22.你对加班的看法?

23.平时如何管理你的项目?

24.说说最近最流行的一些东西吧?常去哪些网站?

25.如何设计突发大规模并发架构?

26.说说最近最流行的一些东西吧?常去哪些网站?

27.是否了解开源的工具 bower、npm、yeoman、grunt、gulp,一个 npm 的包里的 package.json 具备的必要的字段都有哪些?(名称、版本号,依赖)

28.每个模块的代码结构都应该比较简单,且每个模块之间的关系也应该非常清晰,随着功能和迭代次数越来越多,你会如何去保持这个状态的?

29.Git知道branch, diff, merge么?

30.如何设计突发大规模并发架构?

31.当团队人手不足,把功能代码写完已经需要加班的情况下,你会做前端代码的测试吗?

32.说说最近最流行的一些东西吧?平时常去哪些网站?

33.知道什么是SEO并且怎么优化么? 知道各种meta data的含义么?

34.移动端(Android IOS)怎么做好用户体验?

35.简单描述一下你做过的移动APP项目研发流程?

36.你在现在的团队处于什么样的角色,起到了什么明显的作用?

37.你认为怎样才是全端工程师(Full Stack developer)?

38.介绍一个你最得意的作品吧?

39.你有自己的技术博客吗,用了哪些技术?

40.对前端安全有什么看法?

41.是否了解Web注入攻击,说下原理,最常见的两种攻击(XSS 和 CSRF)了解到什么程度?

42.项目中遇到国哪些印象深刻的技术难题,具体是什么问题,怎么解决?。

43.最近在学什么东西?

45.你的优点是什么?缺点是什么?

46.如何管理前端团队?

47.最近在学什么?能谈谈你未来3,5年给自己的规划吗?

最近在学习Vue和react,加强对两个框架的理解和认识,开发属于自己的框架;

48.有趣的问题

  • A、B两人分别在两座岛上。B生病了,A有B所需要的药。C有一艘小船和一个可以上锁的箱子。C愿意在A和B之间运东西,但东西只能放在箱子里。只要箱子没被上锁,C都会偷走箱子里的东西,不管箱子里有什么。如果A和B各自有一把锁和只能开自己那把锁的钥匙,A应该如何把东西安全递交给B?

    答案:A把药放进箱子,用自己的锁把箱子锁上。B拿到箱子后,再在箱子上加一把自己的锁。

    箱子运回A后,A取下自己的锁。箱子再运到B手中时,B取下自己的锁,获得药物。

  • Amazon主页的左上角有一个商品分类浏览的下拉菜单 没有延迟,而且子菜单也不会在不应该的时候消失。它是怎样做到这一点的呢?

    答案是通过探测鼠标移动的方向和轨迹,具体查看Khan Academy工程师 Ben Kamens 写的 jQuery插件

 

 

 

 

 

 

                                                                                                                    

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_37631322/article/details/80445635

智能推荐

稀疏编码的数学基础与理论分析-程序员宅基地

文章浏览阅读290次,点赞8次,收藏10次。1.背景介绍稀疏编码是一种用于处理稀疏数据的编码技术,其主要应用于信息传输、存储和处理等领域。稀疏数据是指数据中大部分元素为零或近似于零的数据,例如文本、图像、音频、视频等。稀疏编码的核心思想是将稀疏数据表示为非零元素和它们对应的位置信息,从而减少存储空间和计算复杂度。稀疏编码的研究起源于1990年代,随着大数据时代的到来,稀疏编码技术的应用范围和影响力不断扩大。目前,稀疏编码已经成为计算...

EasyGBS国标流媒体服务器GB28181国标方案安装使用文档-程序员宅基地

文章浏览阅读217次。EasyGBS - GB28181 国标方案安装使用文档下载安装包下载,正式使用需商业授权, 功能一致在线演示在线API架构图EasySIPCMSSIP 中心信令服务, 单节点, 自带一个 Redis Server, 随 EasySIPCMS 自启动, 不需要手动运行EasySIPSMSSIP 流媒体服务, 根..._easygbs-windows-2.6.0-23042316使用文档

【Web】记录巅峰极客2023 BabyURL题目复现——Jackson原生链_原生jackson 反序列化链子-程序员宅基地

文章浏览阅读1.2k次,点赞27次,收藏7次。2023巅峰极客 BabyURL之前AliyunCTF Bypassit I这题考查了这样一条链子:其实就是Jackson的原生反序列化利用今天复现的这题也是大同小异,一起来整一下。_原生jackson 反序列化链子

一文搞懂SpringCloud,详解干货,做好笔记_spring cloud-程序员宅基地

文章浏览阅读734次,点赞9次,收藏7次。微服务架构简单的说就是将单体应用进一步拆分,拆分成更小的服务,每个服务都是一个可以独立运行的项目。这么多小服务,如何管理他们?(服务治理 注册中心[服务注册 发现 剔除])这么多小服务,他们之间如何通讯?这么多小服务,客户端怎么访问他们?(网关)这么多小服务,一旦出现问题了,应该如何自处理?(容错)这么多小服务,一旦出现问题了,应该如何排错?(链路追踪)对于上面的问题,是任何一个微服务设计者都不能绕过去的,因此大部分的微服务产品都针对每一个问题提供了相应的组件来解决它们。_spring cloud

Js实现图片点击切换与轮播-程序员宅基地

文章浏览阅读5.9k次,点赞6次,收藏20次。Js实现图片点击切换与轮播图片点击切换<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <script type="text/ja..._点击图片进行轮播图切换

tensorflow-gpu版本安装教程(过程详细)_tensorflow gpu版本安装-程序员宅基地

文章浏览阅读10w+次,点赞245次,收藏1.5k次。在开始安装前,如果你的电脑装过tensorflow,请先把他们卸载干净,包括依赖的包(tensorflow-estimator、tensorboard、tensorflow、keras-applications、keras-preprocessing),不然后续安装了tensorflow-gpu可能会出现找不到cuda的问题。cuda、cudnn。..._tensorflow gpu版本安装

随便推点

物联网时代 权限滥用漏洞的攻击及防御-程序员宅基地

文章浏览阅读243次。0x00 简介权限滥用漏洞一般归类于逻辑问题,是指服务端功能开放过多或权限限制不严格,导致攻击者可以通过直接或间接调用的方式达到攻击效果。随着物联网时代的到来,这种漏洞已经屡见不鲜,各种漏洞组合利用也是千奇百怪、五花八门,这里总结漏洞是为了更好地应对和预防,如有不妥之处还请业内人士多多指教。0x01 背景2014年4月,在比特币飞涨的时代某网站曾经..._使用物联网漏洞的使用者

Visual Odometry and Depth Calculation--Epipolar Geometry--Direct Method--PnP_normalized plane coordinates-程序员宅基地

文章浏览阅读786次。A. Epipolar geometry and triangulationThe epipolar geometry mainly adopts the feature point method, such as SIFT, SURF and ORB, etc. to obtain the feature points corresponding to two frames of images. As shown in Figure 1, let the first image be ​ and th_normalized plane coordinates

开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先抽取关系)_语义角色增强的关系抽取-程序员宅基地

文章浏览阅读708次,点赞2次,收藏3次。开放信息抽取(OIE)系统(三)-- 第二代开放信息抽取系统(人工规则, rule-based, 先关系再实体)一.第二代开放信息抽取系统背景​ 第一代开放信息抽取系统(Open Information Extraction, OIE, learning-based, 自学习, 先抽取实体)通常抽取大量冗余信息,为了消除这些冗余信息,诞生了第二代开放信息抽取系统。二.第二代开放信息抽取系统历史第二代开放信息抽取系统着眼于解决第一代系统的三大问题: 大量非信息性提取(即省略关键信息的提取)、_语义角色增强的关系抽取

10个顶尖响应式HTML5网页_html欢迎页面-程序员宅基地

文章浏览阅读1.1w次,点赞6次,收藏51次。快速完成网页设计,10个顶尖响应式HTML5网页模板助你一臂之力为了寻找一个优质的网页模板,网页设计师和开发者往往可能会花上大半天的时间。不过幸运的是,现在的网页设计师和开发人员已经开始共享HTML5,Bootstrap和CSS3中的免费网页模板资源。鉴于网站模板的灵活性和强大的功能,现在广大设计师和开发者对html5网站的实际需求日益增长。为了造福大众,Mockplus的小伙伴整理了2018年最..._html欢迎页面

计算机二级 考试科目,2018全国计算机等级考试调整,一、二级都增加了考试科目...-程序员宅基地

文章浏览阅读282次。原标题:2018全国计算机等级考试调整,一、二级都增加了考试科目全国计算机等级考试将于9月15-17日举行。在备考的最后冲刺阶段,小编为大家整理了今年新公布的全国计算机等级考试调整方案,希望对备考的小伙伴有所帮助,快随小编往下看吧!从2018年3月开始,全国计算机等级考试实施2018版考试大纲,并按新体系开考各个考试级别。具体调整内容如下:一、考试级别及科目1.一级新增“网络安全素质教育”科目(代..._计算机二级增报科目什么意思

conan简单使用_apt install conan-程序员宅基地

文章浏览阅读240次。conan简单使用。_apt install conan