前端面试题

找工作时在网上找的面试问题以及自己梳理/查找出来的答案。方便大家/我日后查看。(面试问题出处:https://blog.csdn.net/xllily_11/article/details/70899191)

【CSS】

  1. CSS 盒子模型,绝对定位和相对定位 —— https://blog.csdn.net/zengyonglan/article/details/53301146

  2. 清除浮动,什么时候需要清除浮动,清除浮动都有哪些方法 —— https://blog.csdn.net/zengyonglan/article/details/53304487

  3. 如何保持浮层水平垂直居中 —— https://blog.csdn.net/zengyonglan/article/details/53334326

  4. position 和 display 的取值和各自的意思和用法 —— https://blog.csdn.net/splendid_can/article/details/53351393

  5. 样式的层级关系,选择器优先级,样式冲突,以及抽离样式模块怎么写,说出思路,有无实践经验 —— https://blog.csdn.net/fuohua/article/details/75735125

  6. css3动画效果属性 —— https://blog.csdn.net/clmmei_123/article/details/81910157  

  7. canvas、svg的区别 —— https://www.cnblogs.com/zhen-prz/p/10130548.html  

  8. CSS3中新增伪类举例 —— https://blog.csdn.net/qq_41696819/article/details/81531494

  9. px和em和rem的区别,CSS中link 和@import的区别是?——  https://www.cnblogs.com/propheterLiu/p/5990178.html

  10. 了解过flex吗? —— http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_source=tuicool

  11. 谈一谈 transition 和 animation 的区别 —— https://www.cnblogs.com/freefish12/p/5580527.html

【JavaScript】

  基础:

  1. JavaScript 里有哪些数据类型,解释清楚 null 和 undefined,解释清楚原始数据类型和引用数据类型。比如讲一下 1 和 Number(1)的区别。 —— https://blog.csdn.net/splendid_can/article/details/53351481

  2. 将一下 prototype 是什么东西,原型链的理解,什么时候用 prototype。 —— https://blog.csdn.net/splendid_can/article/details/53351541  https://juejin.im/post/58f94c9bb123db411953691b

  3. 函数里的this什么含义,什么情况下,怎么用。 —— https://blog.csdn.net/splendid_can/article/details/53351577

  4. apply和 call  什么含义,什么区别?什么时候用。(我有篇文章 重点分析过) ——  https://www.cnblogs.com/phoebeyue/p/9216514.html

  5. 数组和对象有哪些原生方法,列举一下,分别是什么含义,比如连接两个数组用哪个方法,删除数组的指定项和重新组装数组(操作数据的重点)。 —— https://www.bbsmax.com/A/l1dyYrg9de/

  6. 怎样避免全局变量污染?ES5严格模式的作用,ES6箭头函数和ES5普通函数一样吗? —— https://blog.csdn.net/xllily_11/article/details/52816699  https://www.jianshu.com/p/c5755eba878c

  面向对象:

  1. JS 模块包装格式都用过哪些,CommonJS、AMD、CMD。定义一个JS 模块代码,最精简的格式是怎样。 —— https://www.jianshu.com/p/bd4585b737d7

  2. JS 怎么实现一个类。怎么实例化这个类。 —— https://www.jianshu.com/p/998b55ca7abf

  3. 理解闭包吗?请讲一讲闭包在实际开发中的作用;闭包建议频繁使用吗? —— https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures

  4. 说一下了解的js 设计模式,解释一下单例、工厂、观察者。 —— 

  5. ajax 跨域有哪些方法,jsonp 的原理是什么,如果页面编码和被请求的资源编码不一致如何处理? —— 

【开源工具】

  1. 是否了解开源的架构工具 bower、npm、yeoman、gulp、webpack,有无用过,有无写过,一个 npm 的包里的 package.json 具备的必要的字段都有哪些(名称、版本号,依赖) —— 

  2.  github常用不常用,关注过哪些项目 —— 

  3.  会不会用 ps 扣图,png、jpg、gif 这些图片格式解释一下,分别什么时候用。如何优化图像、图像格式的区别 —— 

  4.  说一下你常用的命令行工具 —— 

  5.  会不会用git,说上来几个命令,说一下git和svn的区别,有没有用git解决过冲突 —— 

【计算机网络基础 】

  1. 说一下HTTP 协议头字段说上来几个,是否尽可能详细的掌握HTTP协议。一次完整的HTTP事务是怎样的一个过程? —— 

  2. cookies 是干嘛的,服务器和浏览器之间的 cookies 是怎么传的,httponly 的 cookies 和可读写的 cookie 有什么区别,有无长度限制 —— 

  3. 请描述一下cookies,sessionStorage和localStorage的区别 —— 

  4.  从敲入 URL 到渲染完成的整个过程,包括 DOM 构建的过程,说的约详细越好。 —— 

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

  6.  是否了解公钥加密和私钥加密。如何确保表单提交里的密码字段不被泄露。验证码是干嘛的,是为了解决什么安全问题。 —— 

  7.  编码常识:文件编码、URL 编码、Unicode编码 什么含义。一个gbk编码的页面如何正确引 —— 

【前端框架】

  1.  对 MVC、MVVM的理解 —— 

  2.  vue、angularjs等 相对于 jQuery在开发上有什么优点? —— 

  3.  前后分离的思想了解吗? —— 

  4.  你上一个项目都用到了那些方法优化js的性能? —— 

  5.  angular的生命周期? —— 

  6.  说一下你对vue和vuex的使用方法,vue的组件复用机制 —— 

 【考察学习能力和方法】

  1. 你每天必须登录的网站(前端技术相关)是什么? —— 

  2.  前端技术方面看过哪些书,有无笔记,都有哪些收获。 —— 

  3.  收藏了哪些代码片段?有想过开源自己的代码嘛? —— 

  4.  怎么理解前端技术的大趋势?自己再做哪方面的知识储备? —— 

  5.  是否了解或精通其他(后端)的编程语言? —— 

  6.  做项目有没有遇到哪些印象深刻的技术攻关,具体遇到什么问题,怎么找答案的,最后怎么解的。 —— 

  7.  对以后自己的前端职业路线,咋么规划 —— 

 【开放性问题】

这些问题往往决定你是否最终被录用或者等到终轮面试,技术点回答错了不要紧,人脑不是机器,是可以恶补的。

但如果你没有思想和独到的思路,基础挖的再深,可能也打动不了面试官,因为比你基础好的一大堆,但每个人的个性思想却是不同的

1. 如果需要你加班,你会加吗,抵触吗?

  其实你肯定抵触,但你肯定要回答如果项目需要肯定会加

2. 一个小项目让你自己负责搭建底层一些架构,你能胜任吗?

  我肯定愿意尝试,并做到最优的选择方案出来

3. 如果项目拖太久,你情绪低落或者厌烦了怎么调节?

  回答就是, 你结合自身挑着好听的说就行,就像聊天

4. 你建议自己造轮子,还是利用开源的轮子?

  回答:根据实际情况而定,如果开源完全满足 可以自己二次开发就好,大大缩短开发周期

  如果实在没有契合度很高的,可以花费几个工作日尝试造轮。

知乎看到的前端面试题:

作者:Skyfish
链接: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,样式选择有哪些,他们的权重排序是什么样的

原文地址:https://www.cnblogs.com/fire-forget/p/11758760.html