当前位置: 首页 >> 面试题 >> 技术 >> 前端开发 >> Web前端 >>

Web前端开发工程师面试题汇总总结

html部分

  • 什么是DTD,为什么要声明 你知道几种形式

css部分

  • 让一个元素相对于父级垂直水平居中(考虑到块元素,内联元素,不定宽高)
  • position有几种取值(5种,4种常用的加-webkit-sticky)
  • 解释下盒模型;box-sizing默认值
  • 写出你知道的伪类(基础hover link visited,加分disabled valid invalid out-of-range等)
  • 如何解决ip手机1px线的问题
  • 什么情况会触发gpu加速
  • BFC是什么,哪些属性会触发BFC
  • REM;你是如何利用REM写自适应网页的

JS部分

  • call,apply,bind的区别。实现一个bind函数
  • prototype和__proto__的区别
  • 伪数组怎么转成数组
  • 怎么判断一个对象是不是数组(!isArray)
  • 实现一个indexOf
  • add(1)(2)(3)(4)… 无限柯里化实现参数相加(考察toString和valueOf)
  • 闭包应用场景,对函数式的了解
  • 什么情况下,执行一个匿名函数 这个函数的this不指向window(说出几种除call,bind,apply之外的情况)
  • 实现原型继承。构造函数继承模式和原型模式的优缺点,分别的适用场景(js高程第6章重点内容)
  • ES6了解么,觉得ES6有哪些有用的改进
  • symbol的作用场景,怎么看待Set Map,能否实现Object.assign()
  • promise解决了什么问题。你是如何处理多个异步函数并行的
  • 实现一个随机10位字符串(/d/w)
  • amd、cmd的区别,module.exports和exports的区别

页面部分

  • 页面加载的顺序
  • 原生实现事件委托
  • 说一下事件流,和不同浏览器的差异
  • 对虚拟dom了解么,有什么优势
  • 说出几条页面性能优化的建议
  • 前端优化策略列举
  • 首屏,白屏时间如何计算
  • 谈谈前端渲染 VS 后端渲染

http 部分

  • http和https的区别
  • 知道有哪些状态码
  • get和post的区别
  • 怎么解决跨域问题
  • jsonp和ajax区别
  • http劫持,dns劫持
  • 前后端分离,用户登录的安全性问题
  • 怎么设置cookie,cookie和localstorage区别
  • 输入一个URL到页面呈现,经历了什么

算法部分

  • 排序算法
  • “ab-cd-efg-hi-jk” => “abCdEfgHiJk”(注意a是小写)
  • 查询一个数字数组前n个最大数(!sort)
  • 困住的雨水 (Trapping Rain Water)
  • [1,2,3,’10’,11,NaN,’-20′,null] 按数字大小排序,且NaN在最前,null在最后

扩展部分

  • 你觉得前端分几个等级,分别是做什么的 你现在处于哪个等级
  • 平时有了解什么新的东西么
  • 平时是怎么学习的,有自己做过一些小东西么
  • 了解过哪些前端框架,他们分别解决了什么问题 每个框架的适用场景
  • 在团队里主动推动过什么事情么,比如推行某个框架 推行前后端分离
  • 你理解的前后端分离是怎样的,为什么要前后端分离
  • 有学习过其他语言么,有没想想过自己独立完成一个网站
  • 给你一个项目让你去评估开发时间,你是怎样评估并给出结果的
  • 怎么看待当下前端这个行业,如果要分方向(SPA,页面重构,canvas动画等)你想做哪个方向

Loading