经历
7月份开放的简历,收到了蛮多询问和面试,算是招人旺季,需要跳槽的小伙伴抓住机会。一开始广泛看面试题,没抓住重点复习,有很多平时也没怎么用到,导致一开始面试的时候,问的问题看过,但是都记不清答得不太好,所以一开始的面试都挂了,但是之后针对性的补全知识之后就比较顺利,也找到感觉了,基本上后面的面试都顺利通过。现在是面试了8家公司左右,有些高频问题会标记次数/总次数,可供大家参考。
面试题记录
js类
- addEventListener,第三个参数的作用
- js事件阶段(捕获>目标>冒泡),阻止冒泡有哪些方法(3/8)
- 如何监听dom的变动(Mutation Observer)
- 简述Event loop/描述场景问你执行顺序等,要熟悉事件循环机制(4/8)
- 了解宏任务和微任务吗,请各举几个常见的例子/宏任务与微任务哪个先执行(3/8)
- 简述原型,原型链/描述场景问指向等(3/8)
- es6平时开发中常用那些属性(2/8)
- es6的class与其继承如何实现(2/8)
- 箭头函数和普通函数有什么区别/箭头函数的优点
- promise的状态(peding,fulfilled,rejected,状态一旦确定不可更改)
- call,apply,bind的作用与不同之处
- 你知道几种深拷贝的方法
html类
- html5有什么新的特性
css类
- 简述下flex布局
- 简述下grid布局
- 你可以用几种方式来实现水平垂直居中
- css3有哪些新的属性
- position有哪些值/absolute以什么作为父级/简述sticky属性(3/8)
- 了解BFC吗,BFC可以用来解决什么问题
- display:none和visibliy:hidden的区别
vue类(简历中有写常用技术栈为vue)
- 双向绑定原理(频率很高,6/8左右,建议在面试前手写一个简单的双向绑定,有可能面试官会直接问compile,watcher,Observe,deps的功能和之间的联系)
- vue3.0和2.0双向绑定的区别,这样的改动有什么好处(2/8)
- vue-router的实现原理,history和hash模式有什么区别
- 虚拟dom为什么效率高
- 请描述vue生命周期
- keep-alive是否与普通组件有一样的生命周期,如果不是,它有哪些钩子(2/8)
- vue如何实现seo/为什么会被seo搜索到,ssr的生命周期与普通vue生命周期有什么不一样
- computed如何得知数据变化/computed有缓存吗(2/8)
- $nextTick原理
- vue父子组件传参有哪些方式(5/8)
- v-if和v-show有什么区别(3/8)
http类
- 跨域有哪些方式,有些面试会问jsonp和Nginx的原理,其他的原理倒是没怎么问(★跨域面试必问)
- jsonp回调函数参数格式/如何设置回调(类似这样的问题,有点记不清了)
- 后端修改请求头,实现cros跨域时,在发送post请求之前会先发送什么
- 列举一些http状态码,每一类起码都要列出几个来(3/8)
- http,tcp,ip各处在什么层
- http2.0与http1.x相比有哪些优化/http发展历程
- http都有哪些请求方式
- 了解过http连接池吗
- 浏览器的缓存机制,如何实现协商缓存(etag)(3/8)
- 简述从浏览器输入地址到页面渲染完成之间发生了什么
性能类
- 实际项目中做过的性能优化,优化之后效果怎么样(★性能优化几乎必问)
- 一个页面中有大量的数据,如何优化页面(3/8)
- 一个页面中有大量的图片,如何优化页面(2/8)
- 图片除了雪碧图,还有什么可以优化的方式
- 为什么gzip不压缩图片
- 单页应用的首屏优化
- 请简述cookie,localstorage,sessionstorage的区别(2/8)
技术其他类
- 平时的工作中如何保证产品在不同浏览器中的兼容问题
- 有考虑过前端模块化的问题吗
- 对webpack有没有了解,自己有写过webpack配置文件吗/是否有改过webpack的配置
- 对脚手架工具有没有了解,自己有实现过吗
- 搭建项目时会对整体的开发做哪些考虑/搭建项目时会考虑哪些因素,会做哪些规划
- 如何制作骨架屏
- 是否了解过seo
- 简述mvc和mvvm
- 请简述重绘和重排(2/8)
- (如果简历有写使用ts)简述使用ts的好处
非技术类
- 职业规划,目前有没有为下一个阶段目标做什么储备工作(3/8)
- 如果有做过组长或类似管理经验,会问平时的管理类工作有那些,如何管理组员和调配工作,或者绩效考核的标准是什么,怎样带领大家成长,怎样提高大家的效率等问题(★如果简历有写,必问)
- 如果在工作中遇到产品提出一个急切的需求,在手头有工作的情况下如何处理
- 遇到奇葩需求或者不好做的需求如何处理
- 离职原因(★)
- 对行业的要求,对新公司和新团队的期望等(4/8)
- 最近有在学什么新技术吗(3/8)
最后
基础知识非常重要。
有些时候你的技术范围和面试公司的可能不太一致,导致最后没能拿到offer,也不要太难过,不一定是你的问题。
面试的时候会比较高密度的问各种问题,有很多在面试完之后忘记了,这里只留下了部分。如果在面试过程中和面试官有良性互动,聊的比较好的,基本上都能通过,就算很多问题答不出来也要让面试官觉得你有潜力之类的(个人感觉仅供参考)。
最后祝大家面试顺利,拿到心仪的offer,写错的地方请不吝赐教,谢谢。