前端面试题
找工作时在网上找的面试问题以及自己梳理/查找出来的答案。方便大家/我日后查看。(面试问题出处:https://blog.csdn.net/xllily_11/article/details/70899191)
【CSS】
-
CSS 盒子模型,绝对定位和相对定位 —— https://blog.csdn.net/zengyonglan/article/details/53301146
-
清除浮动,什么时候需要清除浮动,清除浮动都有哪些方法 —— https://blog.csdn.net/zengyonglan/article/details/53304487
-
如何保持浮层水平垂直居中 —— https://blog.csdn.net/zengyonglan/article/details/53334326
-
position 和 display 的取值和各自的意思和用法 —— https://blog.csdn.net/splendid_can/article/details/53351393
-
样式的层级关系,选择器优先级,样式冲突,以及抽离样式模块怎么写,说出思路,有无实践经验 —— https://blog.csdn.net/fuohua/article/details/75735125
-
css3动画效果属性 —— https://blog.csdn.net/clmmei_123/article/details/81910157
-
canvas、svg的区别 —— https://www.cnblogs.com/zhen-prz/p/10130548.html
-
CSS3中新增伪类举例 —— https://blog.csdn.net/qq_41696819/article/details/81531494
-
px和em和rem的区别,CSS中link 和@import的区别是?—— https://www.cnblogs.com/propheterLiu/p/5990178.html
-
了解过flex吗? —— http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool
- 谈一谈 transition 和 animation 的区别 —— https://www.cnblogs.com/freefish12/p/5580527.html
【JavaScript】
基础:
-
JavaScript 里有哪些数据类型,解释清楚 null 和 undefined,解释清楚原始数据类型和引用数据类型。比如讲一下 1 和 Number(1)的区别。 —— https://blog.csdn.net/splendid_can/article/details/53351481
-
将一下 prototype 是什么东西,原型链的理解,什么时候用 prototype。 —— https://blog.csdn.net/splendid_can/article/details/53351541 https://juejin.im/post/58f94c9bb123db411953691b
-
函数里的this什么含义,什么情况下,怎么用。 —— https://blog.csdn.net/splendid_can/article/details/53351577
-
apply和 call 什么含义,什么区别?什么时候用。(我有篇文章 重点分析过) —— https://www.cnblogs.com/phoebeyue/p/9216514.html
-
数组和对象有哪些原生方法,列举一下,分别是什么含义,比如连接两个数组用哪个方法,删除数组的指定项和重新组装数组(操作数据的重点)。 —— https://www.bbsmax.com/A/l1dyYrg9de/
-
怎样避免全局变量污染?ES5严格模式的作用,ES6箭头函数和ES5普通函数一样吗? —— https://blog.csdn.net/xllily_11/article/details/52816699 https://www.jianshu.com/p/c5755eba878c
面向对象:
-
JS 模块包装格式都用过哪些,CommonJS、AMD、CMD。定义一个JS 模块代码,最精简的格式是怎样。 —— https://www.jianshu.com/p/bd4585b737d7
-
JS 怎么实现一个类。怎么实例化这个类。 —— https://www.jianshu.com/p/998b55ca7abf
-
理解闭包吗?请讲一讲闭包在实际开发中的作用;闭包建议频繁使用吗? —— https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures
-
说一下了解的js 设计模式,解释一下单例、工厂、观察者。 ——
-
ajax 跨域有哪些方法,jsonp 的原理是什么,如果页面编码和被请求的资源编码不一致如何处理? ——
【开源工具】
-
是否了解开源的架构工具 bower、npm、yeoman、gulp、webpack,有无用过,有无写过,一个 npm 的包里的 package.json 具备的必要的字段都有哪些(名称、版本号,依赖) ——
-
github常用不常用,关注过哪些项目 ——
-
会不会用 ps 扣图,png、jpg、gif 这些图片格式解释一下,分别什么时候用。如何优化图像、图像格式的区别 ——
-
说一下你常用的命令行工具 ——
-
会不会用git,说上来几个命令,说一下git和svn的区别,有没有用git解决过冲突 ——
【计算机网络基础 】
-
说一下HTTP 协议头字段说上来几个,是否尽可能详细的掌握HTTP协议。一次完整的HTTP事务是怎样的一个过程? ——
-
cookies 是干嘛的,服务器和浏览器之间的 cookies 是怎么传的,httponly 的 cookies 和可读写的 cookie 有什么区别,有无长度限制 ——
-
请描述一下cookies,sessionStorage和localStorage的区别 ——
-
从敲入 URL 到渲染完成的整个过程,包括 DOM 构建的过程,说的约详细越好。 ——
-
是否了解Web注入攻击,说下原理,最常见的两种攻击(XSS 和 CSRF)了解到什么程度。 ——
-
是否了解公钥加密和私钥加密。如何确保表单提交里的密码字段不被泄露。验证码是干嘛的,是为了解决什么安全问题。 ——
-
编码常识:文件编码、URL 编码、Unicode编码 什么含义。一个gbk编码的页面如何正确引 ——
【前端框架】
-
对 MVC、MVVM的理解 ——
-
vue、angularjs等 相对于 jQuery在开发上有什么优点? ——
-
前后分离的思想了解吗? ——
-
你上一个项目都用到了那些方法优化js的性能? ——
-
angular的生命周期? ——
-
说一下你对vue和vuex的使用方法,vue的组件复用机制 ——
【考察学习能力和方法】
-
你每天必须登录的网站(前端技术相关)是什么? ——
-
前端技术方面看过哪些书,有无笔记,都有哪些收获。 ——
-
收藏了哪些代码片段?有想过开源自己的代码嘛? ——
-
怎么理解前端技术的大趋势?自己再做哪方面的知识储备? ——
-
是否了解或精通其他(后端)的编程语言? ——
-
做项目有没有遇到哪些印象深刻的技术攻关,具体遇到什么问题,怎么找答案的,最后怎么解的。 ——
-
对以后自己的前端职业路线,咋么规划 ——
【开放性问题】
这些问题往往决定你是否最终被录用或者等到终轮面试,技术点回答错了不要紧,人脑不是机器,是可以恶补的。
但如果你没有思想和独到的思路,基础挖的再深,可能也打动不了面试官,因为比你基础好的一大堆,但每个人的个性思想却是不同的
1. 如果需要你加班,你会加吗,抵触吗?
其实你肯定抵触,但你肯定要回答如果项目需要肯定会加
2. 一个小项目让你自己负责搭建底层一些架构,你能胜任吗?
我肯定愿意尝试,并做到最优的选择方案出来
3. 如果项目拖太久,你情绪低落或者厌烦了怎么调节?
回答就是, 你结合自身挑着好听的说就行,就像聊天
4. 你建议自己造轮子,还是利用开源的轮子?
回答:根据实际情况而定,如果开源完全满足 可以自己二次开发就好,大大缩短开发周期
如果实在没有契合度很高的,可以花费几个工作日尝试造轮。
知乎看到的前端面试题:
链接:https://zhuanlan.zhihu.com/p/66612698
1,如何适配手机浏览器和web页面。(这个主要考虑flex布局和rem布局)
2,cookie、sessionStorage和localStorage的异同。
3,清除浮动的方法?overflow:hidden清除浮动的原理是什么。
4,前端路由实现的原理是什么
5,position有哪几种属性,它们的区别是什么
6,说一下强制缓存和协商缓存
7,cookie如何防止被恶意读取
8,什么是节流和防抖
9,说几种div水平和垂直居中的方式
10,如果浏览器禁用cookie,怎么办?
11,如果前端有一个请求需要非常短的时间请求后端的接口,怎么可以知道后端接口返回的数据的先后顺序。
12,如何预防xss和csrf攻击。
13,polify一个map函数使其可以以向下兼容
14,说一下es6常用的方法。它们有什么新的特性。
15,一个字符串如何去掉字符串中的空格
16,一个字符串如何去重
17,说一下二分法查找。它的时间度是多少
18,说一下css3中的animation和transform属性如何使用
19,标准盒子和怪异盒子
20,说一下常用的ajax请求状态码
21,说一下vue框架和angular框架之间的异同 (因为本人技术栈是vue和angularJs)
22,vue的nextTick这个方法有什么用
23,微任务和宏任务
24,说一下什么是栈、什么是堆、什么是队列。
25,vue生命周期
26,简述一下vue的工作流程是什么样的(从vue初始化到页面渲染完成大致都经历了哪些过程)
27,从输入网址到页面展示都经历了些什么
28,说一下什么是重绘和重排
29,vue的mixin和component什么区别
30,vuex为什么在action中可以异步提交数据再mutation中不可以异步提交数据
31,说一下slot-scope和scope的区别
32,vue是如何实现双向数据绑定的
33,说一下keep-alive内置组件
34,再create生命周期中可以拿到data中的数据吗
35,说一下路由守卫。再beforeRouteEnter阶段中可以拿到vue实例吗?如果不能怎么办
36,说一下vue组件间通讯的几种方式
37,说一下webpack和gulp的异同
38,说一下webpack打包的原理
39,AMD、CMD、commonjs和es6的module有什么异同
40,说一下loader和plugin的区别
41,说一下你再项目中如何对webpack进行优化的
42,webpack可以配置两个入口文件吗?怎么配置
43,说一下跨域的几种方式
44,说一下iframe的优劣
45,手写一个冒泡排序
46,$.entend和$.fn.entend的异同.
47,样式选择有哪些,他们的权重排序是什么样的