前端面试问题

以下问题是我在面试过程中逐步整理的,仅供参考(会不断更新)

基础知识:

JS:

  1. 你们常用的命名规范是什么?
  2. 字符串的操作,截取,分割?
  3. 节点的类型有哪些,如何对节点进行查找,删除,克隆?
  4. 你用过的属性操作的方法有哪些?
  5. 你是如何做图片延时加载的效果?
  6. 如何阻止事件冒泡、如何阻止元素默认行为
  7. 什么是冒泡和捕获、什么是事件委托和代理?
  8. 作用域、闭包、局部变量、全局变量各个概念指的是什么?
  9. 如何做一个放大镜效果?
  10. 如何做谈入弹出效果?缓冲运动效果?如何实现无缝运动?
  11. 你理解的模块化有哪些?cmd,amd,commonjs.
  12. 什么是B/S架构?什么是同源策略?Jsonp的原理?onreadystatechange的使用?iframe如何实现跨域?
  13. 是否设计过通用化组件?如果让你设计一个Dialog(弹出层)/Slider(图片轮播)等组件你会怎么设计,提供什么接口?你预估会碰到什么问题,你如何调试?
  14. 你熟悉的Backbone/Vue/Angular/Sea/Require有什么有优缺点?针对那些缺点,你有没有想过解决方案?
  15. 你如何理解MVC/MV*的?
  16. 如果让你设计一个登录页,按照MVC/MV*你会怎么去组织各个层?

Html:

  1. html元素的分类有哪些?结构元素,列表元素,文本格式元素,表单元素,表格元素
  2. 你是如何理解渐进增强的?

Css:

  1. em rem px三者直接的区别?
  2. 如何让选择的文本颜色变色?
  3. max-width和max-device-width区别?
  4. @media,@supports和@document分别用法是什么?
  5. box-sizing属性中border-box和content-box的区别?

工程化 :

  1. gulp的原理何使用,如何使用gulp进行打包?

类库:

  1. 如何选择合适的jQuery版本?
  2. jQuery对象和Dom对象如何相互转换?
  3. jQuery动画的实现原理?整个实现是否有问题,有需要优化的地方?
  4. jQuery代码优化的基本原则是什么?
  5. jQuery的异步编程Promise具体用法?

浏览器:

  1. 一个页面从输入Url到页面加载完的过程中都发生了什么事情?

性能:

  1. 谈一下你所知道的页面性能优化方法?这些优化方法背后的原理是什么?除了这些已经成熟方案,你还了解哪些?
  2. 如何去分析一个页面的性能?

个人能力:

  1. 你最擅长的技术是什么?你感觉你的技术能到达什么水平?你认为最高级别应该是什么样的?
  2. 你做过最满意的项目是什么?
  3. 项目的背景是什么?为什么要做这个项目?项目最终达到什么效果?
  4. 你在项目中处于什么角色,起到了什么方面的作用?
  5. 你在项目中碰到了什么问题,怎么解决的?
  6. 如果再做这个项目,你会在哪些方面进行改善?
  7. 你没如何和设计师,产品经理,测试人员进行沟通?如何开展工作?如何处理碰到的问题?
  8. 描述一个你遇到的技术问题,你是如何处理的?有没有碰到什么非常奇葩的问题,而且百度不到,完全自己想到解决方案的?
  9. 除了前端你还了解什么其他技术?你对这些技术掌握的怎么样?
  10. 你最近在学什么?接下来的半年你打算学习什么?你平时如何去学习了解新的技术?
  11. 之前做的项目,有什么是你主动推动了什么?

高级技术:

  1. 你对的数据结构,编译原理有何了解?你理解哈夫曼编码,或者贪心算法么?
  2. Get和Post的本质区别是什么? 参考Http的Rfc解释

你可能感兴趣的:(前端面试问题)