共计 1983 个字符,预计需要花费 5 分钟才能阅读完成。
经历
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 可以用来解决什么问题
vue 类(简历中有写常用技术栈为 vue)
- 双向绑定原理(频率很高,6/ 8 左右 )
- 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)
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,写错的地方请不吝赐教,谢谢。
正文完
发表至: javascript
2019-08-01