大家好,受朋友委托,把朋友 2021年2月到5月份
的面试经验整理成博客,分享出来供大家参考,在这3个多月的时间内,一共面了30家
以上的公司,有失败的经验,也有面的不错的经验,分享出来,供大家参考,应朋友所托,公司的名字大部分以字母代替。
谢谢朋友委托发表到 helloworld开发者社区
,才有了这篇好文
首先自我介绍一下:
大专学历 | 销售转行 | 3年经验 | 4次跳槽, 可能由于我简历不够出彩的缘故, 很难约到大厂的面试, 前期只能先约一堆练手的小公司, 到了后面才敢使用几个为数不多的中大厂的面试机会, 惨兮兮...
如果你也在约面试练手, 那可以给你几个小小的建议
- 0 ~ 20人的公司不要去面了, 效果很差的, 根本起不到练习的效果!
- 没有前端的不去, 有的公司连个前端都没有, 这咋练习, 跟后端对线吗?
- 周六日的小公司不要去, 因为压榨型公司面不出效果的, 他家的前端满脑子都是业务...
前期小公司都是线下面试, 正好我当时还剩不少年假, 我就只请下午的半天假, 然后按照地铁站附近提前约约2~3
家公司, 这样可以节省路程, 提高面试效率
祝各位都能拿到心仪的offer
下面列出公司的面试情况以面试题
【02-02】 A公司(失败
)
一面 15分钟
- 都使用过哪些框架写项目
- 对vue的数据双向绑定怎么理解
- 你对vue的mvvm有什么理解
- js的事件循环机制说一下
- H5那边的节流和防抖
- 你能大概的说一下vue的生命周期吗
- 跨域这边你们前端是如何解决的
- es7里面async/await有使用过吗
- 你能讲一个你比较熟悉的项目, 大致说一下它的业务
- 你有什么想要问我的问题吗
需要出差, 去苏州啥的, 而且她觉得我要的高了, 所以没有后续的面试了
有五险,没有公积金
【03-15】 B公司(失败
)
一面 50分钟
在公司前台等了将近15分钟才来了个前端小姐姐(性格不错)
- var,let,const
- promise如何使用
- async/await
- call/apply/bind
- 事件循环
- 宏任务/微任务
- 节流/防抖
- XSS/CSRF
- 跨域
- vue响应式原理
- vue3了解哪些
- 网络协议相关
二面
技术总监全程低头看简历提问, 问了一个树节点隐藏的小问题, 然后问完期望薪资就对我没兴趣了
公司位置离地铁站比较近但是入口比较隐蔽, 第一印象感觉公司人挺多(人来人往的), 但是工位之间的距离挨得很近, 光线昏暗(可能是当前沙尘暴导致的)
有种薪资虚假的感觉
【03-15】 奇略科技(失败
)
一面
面试官说他也是技术, 前后端都是他一个人在做, 然后问了一堆人事方面的问题, 嘴上说着他们碰到合适的人30k也给的起, 但下一句紧跟着又说他们会挑一个期望薪资最低的人...好家伙, 技术都没聊呢就开始画饼压薪资
然后打开他们的公众号开始问: 这个页面你觉得有难度吗, 然后那个棋盘使用了一个canvas插件, 询问我上手难度...后面又问了一些人事方面的问题, 但就是全程不问技术问题
聊了十分钟, 带我到一台电脑前开始做面试题(20道单选, 10道多选, 2道简单算法题), 做完题面试官说你可以走了, 我会给你打分的....我TM
离地铁站步行5分钟, 整个公司看着加起来也就30平米的样子, 总共加起来不超过6个人, 设备老旧, 面试官说是全栈...但感觉技术并不精通, 最起码他没问哪怕一个技术相关的问题, 公司比较坑
薪资虚假, 并且假的很明显
【03-19】😂 D公司 (失败
)
一面 50分钟
- 聊了聊开源项目的设计理念
- react了解到什么程度, react生命周期
- react的setState有几种方式能正确的拿到数据
- vue的slot插槽一般是如何使用的
- vue的数据通信有哪些通信方式
- 说一下发布订阅模式
- js的类型判断有哪些方式
- typeof原理是什么
- instanceof原理是什么
- 那你接着说一下原型链吧
- 创建对象有哪些方式
- new关键字创建实例对象发生了什么
- 说一下call/apply/bind有什么区别
- parseInt()和Number()有什么区别
- 0.1+0.2精度丢失问题以及有哪些解决方式
- toFixed的兼容问题
- 说一下深拷贝和浅拷贝
- 说一下递归的特点
- 说一下es6新增的数据结构和他们之间的区别
- map和普通对象有什么区别
- set去重的原理是什么
- es6都用过哪些
- 说一下promise原理, 问能不能手写
- 介绍一下promise的三种状态
- 如果使用Promise.all()其中一个接口挂了你会如何处理
- 说一下Promise.race()方法
- 说一下CSS的flex布局, flex的三个属性
- position属性都有哪些值
- 水平和垂直同时居中有哪些方式
- 说一下你封装过的一个最好的组件是哪个并说说它好在哪里
- 用过nginx吗, 没用过nginx那你怎么调后端接口? 那你上线之后怎么处理跨域问题?
- 你们平时用什么管理代码git还是svn?
- 你有没有设计过git提交时校验eslint规范来控制是否能推送代码?
- git在你暂存代码之前有一个hooks了解过吗
- 你作为一个前端来说有哪些方面可以做性能优化?
- webpack做过哪些优化?
- webpack常用的插件有哪些?
- webpack插件加载顺序问题
- 项目中使用webpack处理es6应该用哪个插件(我觉得这个问题有点八股的味道了)
公司大厅有点空旷, 内部工位感觉人不多的样子, 感觉男面试官对我兴趣不大, 他应该是想招一个熟悉react的开发, 可惜我的主要技术栈是vue, 我原本以为女面试官是个行政/人事, 但是从后续的提问来看竟然是个技术, 小姐姐性格蛮有趣的
【03-19】😣 E公司(失败
)
一面 [线下] 30分钟
- 你一般会怎么去搭建vue项目, 他的结构, 配置是什么样子的
- 如果我想通过webpack控制一下包的大小, 或提升一下他的编译速度, 你有什么方案呢
- webpack有研究过吗, 你说说前端为什么要用webpack
- 你写过webpack-plugin吗, 大概了解过他的原理吗
- webpack插件的先后顺序是什么样的, 打包的时候执行的顺序
- 你有做过webpack相关的优化方案吗
- 你之前有用jq写过项目吗
- vue为什么可以实现数据双向绑定呢
- 你自己实现一个组件, 父子组件之间的数据同步, 你觉得怎么做比较好
- 为什么要使用vuex, 为什么我不在根组件中写一个object用来管理数据呢
- 为什么要用vuex状态管理呢
- vue本身的数据追踪你感觉有什么缺陷吗
- 如果没有使用vuex, 而是在vue根组件来管理公共状态, 会不会产生什么性能问题
- 如果把很多的数据保存在一个组价的data里面, 会不会引发一些不必要的东西, 有什么缺陷
- vue里面的computed, 两个属性计算直接互相引用, 这种情况下会发生什么
- mixins你用过吗, 有哪些缺陷
- import和require有什么区别
- 现在有一个模块A, 我载B模块里面改了A模块的数据, C模块里面的A数据会怎样, 在import和requi两种方式下会有什么区别 (面试官说import下A会发生变化, require不会)
二面
二面没录音, 记不太清了, 就是聊了聊项目, 然后问了我两个性能优化方案, 第一个使用哈希表减少循环, 第二个使用树状结构提取公共部分即可
三面 10分钟
好像是产品经理面试, 是周日约的第二趟, 不聊技术, 只聊性格/对公司的期望/未来规划, 还有画饼, 我还以为是HR谈薪资呢, 应该是挂了
感觉这家公司福利待遇一般般, 但是三面还让单独跑一趟, 我往返路程要两个半小时 && 全程就聊了10分钟, 真是服了, 公司好像就两个前端, 办公环境不算大, 也就四五十平的样子, 但是室内光线非常明亮
【03-19】😒 F公司(失败
)
一面 [线下] 20分钟
- 你平时做PC端多还是移动端多
- 小程序做过吗
- 你这薪资最低**k吗
- 你说一下js继承有几种方式吧
- 说一下promise原理吧
- 冒泡排序说一下
- 事件委托说一下
- 闭包你说一下
- 同步异步你说一下
- vue生命周期说一下
- dom可以在哪个生命周期里面拿到
- v-show和v-if之间有什么区别
- 父子组件传值
- 路由跳转方式
- 数据双向绑定原理
- 你这边有做过react项目吗
- vue单页面首页加载慢
- 项目中有遇到比较难的模块吗
- 你**k就是最低了是吗
问了我两次薪资期望, 看来是薪资虚假了
【03-22】😑 G公司(失败
)
一面 [现场] 35分钟
- 介绍一下你的开源项目, 如何适配多端
- ts的话, 泛型你有了解吗
- 平时工作中任务都是如何分配的
- 说一下vue的生命周期吧
- created和mounted之间什么区别
- computed和watch什么区别, 使用场景
- 你觉得computed有什么好处
- 你们平时都是如何跟后端配合的, 开发流程
- 说一下git常用命令吧, rebase用过吗
- ESLint有使用过吗
- 后台管理系统里, 你平时都做过哪些封装
- Vue.extend有用过吗, mixins有用过吗
- nuxt.js有用过吗
- 你平时都做过哪些性能优化
- 你常用的npm包都有哪些
- 移动端做的多吗
- 页面级的组件封装过吗
- 你们公司的项目上线发布流程是怎样
- es6的class有用过吗
一面结束后, 面试官出去沟通了一下, 然后回来婉拒, 说有消息再通知我
【03-22】😊 H公司(胜利
)
笔试题
- 假设有三个接口, 每个接口调用耗时200ms, 要求总耗时不超过500ms
- 列表中没有重复的文章 (title字段相同即可视为重复文章)
- 处理后的数据要求时间由近及远排序, 并且date字段处理为今天, 昨天, 2天前...n天前的形式
[ // 接口返回的数据结构
{ title: 'xxx', date: '2020/01/30', text: '...' },
{ title: 'yyy', date: '2020/02/02', text: '...' },
...
]
[ // 处理之后的数据结果
{ title: 'yyy', date: '今天', text: '...' },
{ title: 'xxx', date: '3天前', text: '...' },
...
]
一面 [现场] 15分钟
- 讲解笔试题的解题思路
- 线上错误监控做过没, 单元测试写过吗
- 讲解一下项目中的难点
- 你的期望薪资是多少~
可能他家前端比较忙, 一面是总监面的, 聊得不错, 声音非常具有亲和力
二面 [现场] 30分钟
- 18年你就开始用vue了?
- js有哪些基本数据类型
- null和undefined
- 现在有一个字符串是逗号分隔的, 如何转换为数组
- '12345'如何转换成数字的12345
- 你是怎样理解js的异步的
- setTimeout和setInterval什么区别
- 定时器如何清理, 在什么时候清理
- vue有哪些声明周期
- 你获取接口会写在哪个生命周期
- created和mounted之间什么区别
- vue子组件如何向父组件传参
- 你对vue的底层有多少了解呢, 他是如何实现数据双向绑定的
- 关闭页面之后, 用户自动退出, 该如何实现呢
- token过期如何处理, 失效如何处理
- abc三个网站直接如何实现单点登录
- 跨域如何处理, 什么才算跨域呢
- 浏览器的前端安全有哪些, csrf的原理是什么
- 你们项目中有用到ts吗, 你对ts的使用有什么感受
- H5开发和web开发有哪些不一样的地方吗
- 写过小程序吗, 用什么写的
声音尖尖的, 刚开始说话的语气非常轻浮, 可能是把我当成刚培训出来的了? 但是在问完第13题之后面试官的声音开始变得认真沉稳起来, 到了最后气势已经完全被我碾压住了
可惜薪资方面最多也就只能申请到到21/22
【03-22】😕 I公司(失败
)
改天吧, 我累了, 懒得听录音了...
【03-29】🤬 悦淘网络
一面 20分钟
- webpack有用过吗, 用过哪些配置项
- 对于webpack构建流程了解多少
- vue里面根据不同环境下如何打包
- vue组件通信有哪些方式
- 项目中如何处理权限/菜单/角色的控制
- 除了vuex还有其他处理全局用户状态
- vue里都封装过哪些类型的组件
- 项目里面用过哪些CSS组件库, 组件库有没有二次封装过
- vue的scoped样式如何穿透
- 如果你接到一个展示数据的需求, 你会如何规划页面让用户看着更舒服
- 开发过程中有没有觉得产品的设计不太对的情况
- 小程序你了解多少, 有没有做过多端小程序开发
- 微信支付和支付宝支付对接过吗
- 微信分享功能做过吗
- 微信有没有禁用分享的方法
- 第三方登录对接过吗
- 个人的职业规划有哪些
二面 10分钟
hr全程抖腿/时不时的颠头, 从简历上的方方面面批评我, 否定我个人的任何成就, 说白了就是不断的从任何角度压薪资, 好家伙我还没入职呢就开始PUA了
前台在玩手机很随意, 一面还算正常, 但是在聊的过程中面试官经常玩手机, 导致经常要等待面试官发送完消息才能继续聊, 二面HR是个秃顶+PUA高手, 最后不欢而散
然后我朋友说他曾经入职过这家公司: 入职发了一个2013款的苹果笔记本, 一周上6天(周日-周五), 加班打车报销200块钱/月(对你没看错, 每月最多报销200), 老板在一楼拍桌子发火, 他在二楼都能听到
【03-29】😋 K公司
一面 [线下] 15分钟
面试我的是一个后端, 我礼貌的询问要不要拉上贵公司前端一起聊一下, 他说不用(那只有一个原因, 那个前端比他还菜)
- 平时切页面吗
- react做过吗
- 伪类和伪元素有什么区别
- js可以获取到伪元素吗
- 浏览器的回流和重绘
- js严格模式和非严格模式有什么区别
- 严格模式下function里面有arguments吗
- es6的箭头函数有什么特性
- 怎么修改function的this指向
- new的内部实现过程
- 浏览器强缓存和协议缓存
- 前端性能优化有哪些方面
- es6有哪些浏览器可以兼容
- 遇到过哪些兼容问题
- vue单页面怎么做SEO
二面 [线下] 20分钟
视频流你了解吗, 大视频的切片上传做过吗, 然后技术总监看我确实没做过这些, 就让我介绍了一下之前公司里面项目的亮点/难点, 然后面试官很认真的听我讲, 并且一起探讨底层逻辑的实现
三面 [线下] 10分钟
聊人生, 聊理想, 介绍公司业务规模以及发展前景
四面 [电话] 5分钟
HR第二天才通过电话聊得, HR反复询问离职原因, 然后比较强势的问了点个人想法, 然后表示**k给不到, 那就没啥可谈了, 直接拒掉
公司内部真不小, 办公环境明亮, 听介绍这边只是一个类似分部, 总集团在别处, 办公环境确实不错, 技术方面聊得还算ok, 就是hr这边有点咄咄逼人的感觉, 感觉这个hr也想通过各方面角度压薪资
【03-29】😏 L公司
一面 [线下] 17分钟
- 你们的vue是用脚手架搭建的还是用手写webpack搭建的
- webpack有用过吗
- 有使用过vue-router和vuex吗
- react有开发过吗
- vue的数据双向绑定对数组是如何处理的
- 微任务宏任务说一下
- 定时器是如何触发的
- 说一下回流重绘
- 浏览器缓存说一下
- 对nodejs熟悉吗, linux熟悉吗
- 说一下原型链
- 闭包了解吗
- ts的类型有哪些, ts的泛型了解吗, ts的内置方法有哪些(这个问题我没听懂)
- 项目中有没有做过模块化(这个我也听不懂, 我就说了说组件模块化)
- 你觉得项目中的模块化和组件模块化有什么区别吗
二面 + 三面 [线下]
忘了, 感觉这俩面试官对我的开源项目挺感兴趣的
四面 [线下]
自我介绍 + 谈薪资, HR表示最多帮我争取到21/22k
这家公司没约我, 但是我刚从B座出来, 发现这家公司在C座就上门碰碰运气, 一面可能是个前端 (因为他问问题都是浅尝辄止), 就是那种只要你听说过能说两句就行, 深入的细节方面我看面试官完全没有一起探讨的欲望
【04-02】😊 M公司
一面 30分钟
- vue用了多久了
- 原生js熟悉吗
- 普通for循环和forEach你觉得哪个比较快
- 为什么你觉得forEach会比较慢呢
- vue全家桶你都用什么 (全家桶的概念从tm哪来的?)
- vue-router一共有几种模式以及实现原理
- 你什么时候会用到vuex
- 你能说一下vuex由哪几部分组成的吗
- action是同步还是异步的, 你都在里面做一些什么操作
- 最终改变state中的值是从哪个方法中改变的
- vue组件中的data为什么是一个方法
- 你说一下变量的作用域都有啥吗
- 块级作用域是啥, 函数作用域呢
- 你能说一下什么是原型和原型链吗
- 你说一下什么是跨域和他的解决方案
- 异步编程的解决方案你都用过什么
- 为什么会出现promise
- promise有什么优点和缺点吗
- async/await底层实现是什么
- 你能说一下虚拟dom有什么优缺点吗
- 什么是回流和重绘
- 什么是复合图层
- 浏览器的资源是怎么分配的 (这个问题问的好奇怪, 面试官提示说内存/CPU)
- 复合图层是怎么创建出来的 (应该是想问合成线程之类的)
- 复合图层有个很重要的值需要设置你知道是什么吗(我直接抢答zindex了)
- 你能说一下浏览器有什么主要的进程吗
- 这些进程具体都是干什么的
- 浏览器是多进程还是单进程(这不废话吗, 刚问了我进程)
- 你能说一下渲染进程有哪些线程吗
- 说一下完整的事件循环机制
- 你能说一下页面渲染的整个流程吗 (我说完回流重绘之后, 他还问后面还有吗)
- GPU是干什么的(我认为他想问的是GPU进程)
- js新出的了一个webWorker多线程说一下
- 改变this指向都有哪些方式
- bind/apply/call有什么区别
- 你用过react吗
- vue2和vue3有什么差别/优化的点/主要的区别
- vue中组件传值是怎么传的
- vue的优化代码层面的优化说一下
- 你能说一下watch和computed有什么区别吗
- webpack方面你都做过什么优化
- CDN说一下
- 你常用的布局方式说一下
- SSR你做过吗
我着急赶火车, 语速就比较快, 结果回去听录音发现问了这么多
二面 [线下] 30分钟
二面也是聊技术, 但是忘了录音了, 面试官应该是技术总监一类的
boss描述上写的是二次创业, 前台给了一张表格, 我看上面有一些非常可笑的个人规划/未来发展期望/家庭隐私数据就没写这些, 然后前台还很认真的希望我填写完全, 搞笑
【04-02】🥰 N公司
20k - 30k
一面 [线下] 25分钟
- alt和title有什么区别
- src和href有什么区别
- em和rem什么区别, vw和vh
- 盒子模型
- 判断数据类型有哪些方式
- 强制类型转换和隐式类型转换
- 常见的数组方法
- 闭包了解吗
- var和let和const
- const为什么不可被改变
- es6有哪些
- 箭头函数有什么特点
- call和apply
- vue的底层原理你了解多少
- react底层你了解吗
- vuex了解吗
- $router和$route
- vue-router的原理
- 路由导航守卫
- 平时解决过跨域问题吗
- 前端性能优化了解多少
- 图片方面的优化有哪些
- CDN了解吗
- CDN的原理是什么
- CDN缓存了解吗什么时候缓存什么时候不缓存
- 移动端兼容问题遇到过哪些
- H5页面我们有个兼容问题, ios下导航栏的固定定位失效了, 你有什么解决的思路吗
二面 [线下] 35分钟
- 做过哪些比较复杂的项目
- 介绍一下你的开源项目
- 问了一个循环队列(这题我在leetcode上面遇到过)
- 然后两个数学逻辑题要求推导坐标公式
//
0 1 2
3 4 5
6 7 8
//
1 2 3
4 5 6
7 8 9
三面 [电话]
我刚走到楼下, HR就给我打了电话, 先是给了22被我拒了, 然后又给我涨到了25, 但是五险一金并不是全额缴纳的, 年终奖说是有, 但我很担心创业公司能否兑现承诺
也是个创业公司, 工作时间995, 感觉他家前端太菜了, 总是问一些特别小白的问题, 内部工位我瞄了一眼, 两只手就可以数的出来
【04-02】😕 O公司
18k-22k
一面 30分钟
- 小程序的生命周期说一下
- vuex有了解多少, 数据更新的方法是什么
- 有使用过keep-alive吗
- actived是用来做什么的
- 有了解keep-alive的缓存原理吗
- vue路由导航守卫有了解吗
- 路由跳转的params和query有什么区别
- 使用promise的话需要注意什么吗 (我后来听录音才明白她说的是params, 发音不标准真烦啊)
- params传参的话, 页面刷新丢失数据怎么处理
- vue的$nextTick有了解吗
- nextTick的实现原理有了解吗
- vue的话操作数组或对象, 视图不更新是什么情况, 如何解决
- $set底层是如何实现的, 有看过他的源码吗
- 考一道事件循环问输出什么 (这道题我好像答得有问题)
- vue里面的data为什么是一个方法
- es6有哪些常用的
- set的长度是size, 那size和length的计算方式有什么区别 (没听懂, 我直接答的set和array的区别)
- 比较对象相等的话应该怎样做
- table组件, 横列是学科(数学语文...), 纵列是年级(高一高二...), 你希望后端给你一个啥样的数据
- 聊一下原型链
- new一个对象和Object.create之间有什么区别
- 那js的继承呢 (答得不好)
- H5C3是一直在用吗
- H5新增哪些标签和属性
- H5新增的标签属性data-xxx, 你知道用哪个API取值吗
- rem / em / vh / vw 区别
- 如果我要是实现一个0.5px的线的话应该怎么做
- 如果说让你做一个日历的话, 你会怎么做
- 如果我要在日历组件里面, 根据后端返回的数据渲染一些时间节点你会怎么做
- webpack有用过吗, 常用参数都有哪些
- webpack的优化有哪些
着急赶火车回家, 全程回答的语速很快
这个小姑娘性格有点奇葩, 19题和29题十分认真的让我凭空想象然后说明数据结构, 我tm还啥都没见过呢, 我说个屁啊, 这俩题导致我心情异常的烦躁
整个过程十分心累, 可以感受到他们公司就是切页面多一些, 但是却喜欢模仿别人问原理底层, 为了问而问
【04-09】😮 P公司
20k-40k
笔试题 [线下] 10分钟
- 问输出什么
setTimeout(() => console.log(1)) new Promise(resolve => { console.log(2) for (let i = 0; i <= 99; i++) { if (i === 99) resolve() } }).then(() => { console.log(3) }) console.log(4)
- this指向问题
- 忘了
- 问输出什么
for (var i = 0; i < 4; i++) { setTimeout(() => { console.log(i) }) }
- 实现一个防抖函数
总的来说没啥难度, 全部通过, 面试官给你笔记本, 自己在上面手写, 所以得赶紧写, 免得面试官着急
一面 [线下] 20分钟
- 你知道有哪些可以改变this指向的方式吗
- 你能说一下ajax的实现原理吗, 发出请求之后如何取消
- 图片上传进度监听如何实现
- vue的数据劫持是如何实现的
- 如何准确的判断引用类型
- 项目中跨域是怎么做的
- 接口里面你知道他有简单请求和复杂请求吗
- 说一下水平垂直居中
- 了解http缓存方面吗
- vue里面多个组件互相通信
- cookie和webStorage之间有什么区别
- 你写代码会经常使用闭包吗
- 闭包可以访问父级函数的作用域, 那么父级的作用域是存在哪里呢 (面试官说寄存器啥的)
- vue里面如果你同时更新多个变量, 他底层是如何进行优化的
- 你也做过小程序吗?
- vue里面data的数据, 为什么可以通过this来直接调用到
- vue的data为什么是函数, 为什么要return一个对象
- vue的router路由你了解吗
- 工程化比如webpack之类的用的多吗
- 关于http的请求头你都用到过哪些
- 你们现在有用到http2.0吗
- 说一下http1.0/1.1/2.0之间的区别
- 项目中的性能优化方面说一说
一面结束之后, 让我等待一下他去叫二面, 结果没一会他回来说今天先到这吧, 就让我先走了 (就这么一个过程, 让我感觉他们实际是不缺人的)
【04-09】🥱 Q公司
15k-20k
一面 [线下] 25分钟
- 你们通常怎么解决跨域问题
- 常见的网站攻击方式有哪些
- 前端都做过哪些性能优化
- 父子元素不定宽高怎么实现垂直水平居中
- 数据循环的话你都会用什么方法
- 如何把两个对象合并成一个
- 如何实现数组扁平化
- vue组件传参怎么传
- vue的插槽用过吗
- mixins混入用过吗
- vue路由传参如何传递
- ~说一下路由的声明周期
- 使用cli搭建vue项目你都会做哪些操作
- vue的性能优化做过哪些
- 富文本编辑器插件有使用过吗
- 说一下vuex的结构
- axios你们有封装过吗
- promise介绍一下用过哪些方法
- 说一下vue全家桶都应该有啥
- watch用的多吗, 和computed之间有什么区别
- H5公众号做过吗, 了解微信登录的授权过程吗
- 说几个数组去重的方法吧
- 左右宽度固定中间自适应怎么实现
- 箭头函数和function之间有什么区别
- 小程序做过嘛, 对小程序做过哪些优化吗
- 小程序登录授权的相关问题
- 说一下小程序的传参吧
- 如何从H5跳转到小程序
- 小程序支付做过吗
- 你有在项目中遇到过比较复杂的问题吗
二面 [线下] 8分钟
聊了一些没营养的话, 主要就是想确定我有没有入职意向和期望薪资, 同时介绍了一下团队情况, 就只需要一个前端, 后端也不多, 传统行业, 项目还是从外包手里接过来的, 想必代码也是屎山
没啥可说的, 传统行业的中后台项目, 就一个前端, 这种公司只适合0-1年的前端做过渡使用
【04-09】🤬 天驼网络
15k-25k
一面 [线下] 30分钟
- 介绍一些最近做了哪些项目
- 项目中权限模块是怎么做的
- 小程序有做过吗
- react做过项目吗
- vue2和vue3有哪些区别
- 说一下你对vuex的了解
- 在vue中的组件通信
- get和post有什么区别
- 除了get和post, 还用过别的请求方式吗
- 说一下http状态码
- http和https之间有什么区别
- 你有配置过https吗
- 跨域你是怎么处理的
- 阿里云的一些配置你了解吗, cdn, 自动化部署之类的
- 防抖节流了解吗
- es678你常用的有哪些
- 你们后端用的什么语言
- vue项目优化做过哪些
- git常见命令有哪些
- 移动端常见的布局
- 在项目中跟原生做过交互吗
- 原生ajax和axios有什么区别
- 说一下二叉树的遍历
二面 [线下]
二面总监特奇葩, 人进来之后整个人斜瘫在椅子上, 给人一种吊儿郎当的感觉
- 你了解js编译四部曲吗 (他说四部曲的时候, 我还在想什么是思不取?)
- 你连js编译四部曲都不知道, 你还来面试前端 (表情中带着不屑和嘲讽)
公司内部不大, 一面聊得还行, 技术面试官挺老实的一个人, 可惜二面总监是个傻屌, 整个人进来不干别的, 就是负责嘲讽然后压薪资, 最后不欢而散
这个二面总监感觉不懂前端, 但是他以为他自己特别懂前端, 有些东西他根本说的不对, 但是依然我行我素, 沉浸在自我世界的认知当中, 拒绝外部的否定
【04-17】😡 北京亚冷
15k-30k
一面 [线下]
一个女的给我摆了一台电脑, 然后里面有个PSD, 是个大屏数据可视化Echarts项目, 然后跟我说复原这个设计稿
我说现场写页面?
她反问你不是前端吗?
我一听这直接就走人了, 设计稿我估摸了一下, 需要写一个下午, 十有八九是个骗代码的
不到10人, 全都窝在角落里, 只贴了一张纸写着技术部, 看上去非常寒酸 那个女的给我打印简历的时候, 技术主管还小声嘟囔着: "3块钱一份呢, 下回别给他们打印简历!"
我是周六去面试的, 他们竟然周六还在办公!
【04-22】😄 T公司
18k-28k * 15薪
一面 [线下] 30分钟
- 说一下CSS的盒模型
- BFC了解吗
- 聊聊回流和重绘
- css上下左右同时居中有哪些方案
- 说一说基础数据类型
- 说一说判断数据类型吧
- typeof Symbol和typeof Symbol()会得到什么
- 手写实现一个instanceof
- 说一下事件循环吧
- 用过react吗
- 说一下输入URL到渲染页面发生了什么
- 详细说一下html如何解析的
- 说一下跨域
- 你没有配置过nginx吗
- 你知道为什么webpack的proxy可以进行跨域吗
- 你对浏览器的缓存策略有了解吗
- 说一说你对柯里化的理解吧
- 那你说说bind/call/apply
- 如果让你实现一个call
- 面试官手写了一个关于this指向的题目, 问输出
- 说一说原型链吧
- 你对js继承了解的多吗, 简单写一下寄生组合继承的伪代码
- vue做了多久, vue3了解吗
- 说一下vue的响应式原理
- 你对webpack了解多吗
二面 [线下] 30分钟
- 你觉得你比较擅长哪方面, 后续职业规划是什么
- ajax的底层实现是什么, 了解它是怎么发送请求的吗
- 常在网页中看到的OPTIONS请求, 它是怎么来的
- 浏览器缓存, 关于协商缓存的配置
- 常看到的一些memory cache/disk cache/service worker
- vue里面有一个nextTick
- 怎么把一个回调函数添加到微任务队列中, 有哪些方式
- 哪些是宏任务, 哪些是微任务
- computed和methods区别, 计算属性有什么优点
- 计算属性内部发生变化时, 是怎么通知更新的
- 有了解nodejs下的xxx吗 (没听清), nginx了解吗
- vuex下面有一个Mutation和Action
- Action的底层其实也是在提交一个Mutation, 为什么还要再封装一层呢
- 为什么要把script放在页面底部加载
- 什么是浏览器的回流重绘
- BFC是什么
- 父子元素的垂直水平居中
- CSS grid里面有个新的单位
- webpack下面的plugin和loader有什么区别
- AST和CST说一下 (好像是CST, 我没听清)
- 了解浏览器底层的GC吗
- 有做过什么性能优化吗, webpack方面和网页方面的
- 什么是CDN, 他怎么来识别最近的服务器呢
- 你刚刚提到硬件加速, 什么时候用GPU渲染, 什么时候用CPU渲染
- 你有什么想要咨询的吗
三面 [线下]
HR聊了聊, 福利待遇和薪资方面的, 后来就没回音了, 可能嫌我要的高吧
刚到前台就让我在线做了20道选择题, 一道题5分我得了75分......
【04-22】😐 U公司
16k-25k * 16薪
一面 [线下] 20分钟
- 你比较擅长哪方
- js基本数据类型有哪些
- 能说一下作用域链吗
- 能说一下js的垃圾回收机制吗
- 你能说一下内存泄漏和内存溢出的区别吗
- 能说一下cookie和localStorage的区别吗
- 对于cookie和session有什么区别
- 解释一下什么是观察者模式
- 能介绍一下Event Loop吗
- 能说一下浏览器和nodejs之间Event Loop的区别吗
- 我看到你项目中有用过nuxt, 介绍一下
- 说一下Promise的原理和aplus规范
- 说一下SPA单页面应用相较于多页面应用的优势和缺点
- 说一下vue的diff算法
- 说一下状态管理
- 单页面应用首屏加载的性能优化方案
- 如果是页面中静态资源特别庞大, 有什么优化方案
- webpack了解的多吗
- 能跟我说一下babel的编译原理吗
- 对于PWA(渐进式缓存)有了解吗
- 多线程web worker了解吗
- 对service worker有了解吗
二面 [线下] 10分钟
- 工作这么长时间, 有没有什么让你最有成就感的事
- 平时有没有什么计划, 和看一些什么书之类的
- 对职业发展有什么考虑
三面 [线下]
HR聊了聊薪资和福利之类的
这家公司还行, C轮融资, 听介绍说他们公司内有三四十个前端, 但是不清楚他们是不是把原生也算进去了
【04-25】🙁 V公司
15k-25k
一面 [电话] 45分钟
- 清除浮动有哪些方式
- css选择器有哪些, 他们之间的的权重
- css的预处理器用过哪些, less有个mixins用过吗
- sessionStorage和localStorage的区别
- 怎么开启flex布局, just-content设置的是哪个轴
- 移动端有哪些布局方案, rem布局实现的原理
- http缓存说一下, 详细说一些协议缓存都能设置哪些参数
- 三次握手四次挥手的过程说一说
- js判断数据类型有哪些方式, typeof判断类型会有什么问题
- 原型链说一下, Object.prototype.proto指向什么
- 深浅拷贝说一下, a = []; b = a; 问这个是深拷贝还是浅拷贝
- a = [0]; b = a, b[0] = 1; 问a[0]是什么
- 事件循环机制说一下, 然后给了一个特简单的题问执行顺序
- 什么是冒泡, 冒泡可以用来做什么
- vue的生命周期说一下
- vue的父子组件嵌套的生命周期说一下
- vue的refs用过吗
- vue的$set用过吗, 为什么要用这个
- vue组件之间的通信有哪些
- vuex用过哪些, 页面刷新vuex数据丢失怎么解决
- vue的$nextTick用过吗, 是用来干什么的
- vue的响应式原理结合发布订阅模式一起说说
- 项目中做过权限管理模块吗, 后端控制路由渲染方案
这个面试官有个坏毛病, 他每次在我说完之后, 都会接上一句: 嗯, 说的差不多是这个意思, 合着我这么多题一道题都没答对?
公司内部并不重视技术, 因为我问到的他们现在只有3个前端, 其中一人要离职, 打算再招两个
【04-26】😋 W公司
10-10-5 工作制
笔试题 30分钟
- 问输出什么
var name = 1 var obj = { name: 2, prop: { name: 3, getName: function () { setTimeout(function showName () { console.log(this.name) }, 1000) return this.name } } } console.log(obj.prop.getName()) var getName = obj.prop.getName console.log(getName())
2. 问输出什么
(function () { console.log(1) setTimeout(() => console.log(2), 1000) setTimeout(() => console.log(3), 0) console.log(4) })();
3. 没啥技术含量, 就一个Promise.all的应用, 懒得写了
4. 手写一个深拷贝
5. 实现add函数, 如: add(1)(2); add(1, 2)(3)
### 一面 35分钟
1. 说一下vue的生命周期, 在不同阶段vue做了哪些事
2. 有用过vue3吗, 说一下vue3做了哪写优化
3. 项目中vuex用的多吗, 为什么要使用vuex呢
4. vue-router原理说一下
5. vue组件之间的通信方式
6. webpack用到的多吗
7. 平时项目中有对项目做过哪些优化吗
8. 项目中有做过线上错误日志收集之类的吗
9. 说一下跨域, 为什么会出现跨域呢, 跨域请求是否可以被服务端接收到
10. call / apply / bind之间有什么不同, 手写一个bind方法
11. 原型和原型链介绍一下
12. 手写实现(2).add(4)得到6, (1).add(2)得到3
13. 问输出什么
Promise.resolve('foo') .then(Promise.resolve('bar')) .then(res => console.log(res))
14. 问输出什么
console.log(1) let p = new Promise(resolve => { console.log(2) resolve() console.log(3) }) async function fn () { console.log(4) await p.then(() => console.log(6)) console.log(7) } fn() setTimeout(() => console.log(8)) console.log(5)
15. 实现一个sleep(1000)函数
16. CMD和UMD的区别是什么
17. 在项目中开发过一些UI组件吗
18. vue路由中的按需加载用过吗, 内部实现原理了解吗
### 二面 30分钟
1. 开源项目的设计思路和相关API
2. ts里面的type和interface有什么区别
3. 问了点this指向的相关问题
4. 平时一般会通过什么方式去自学
5. 问输出什么
setTimeout(() => console.log(1)) new Promise(resolve => { resolve() console.log(2) }).then(() => console.log(3)) console.log(4)
6. setTimeout和setInterval区别, setInterval会有哪些问题
7. 写过webpack插件吗
8. 这个小程序有没有去了解过他的原理
9. 设计模式了解吗, 发布订阅模式可以写个伪代码吗
10. Map和WeakMap之间有什么区别
11. 关于js在浏览器运行时阶段, V8引擎做过哪方面的优化
12. 说一下http常见的状态码
13. 近几年个人规划和职业规划是什么
### 三面 [远程] 37分钟
1. 贡献屏幕, 解一道题
```js
// 假设本地机器无法做加减乘除法,需要通过远程请求让服务端来实现。
// 以加法为例,现有远程API的模拟实现
const addRemote = async (a, b) => new Promise(resolve => {
setTimeout(() => resolve(a + b), 1000)
})
// 请实现本地的add方法,调用addRemote,能最优的实现输入数字的加法。
async function add(...inputs) {
// 你的实现
}
// 请用示例验证运行结果:
add(1, 2).then(result => console.log(result)) // 3
add(3, 5, 2).then(result => console.log(result)) // 10
- 介绍一下你的项目
- 说一下async/await底层是如何实现的, 可以手写吗
- 那你说一下babel的编译原理
- AST抽象语法树你了解多少
- 你们是如何搭建的项目 (cli脚手架)
- 你开发过cli的脚手架工具吗
- webpack你使用过哪些配置
- webpack的devServer底层是如何实现跨域的
- 什么情况下会出现跨域
- 如果是后端去调用其他接口, 会触发跨域吗
- webpack的Tree-shaking是如何实现按需加载的
- webpack里面的hash有多少种
- 那contenthash和chunkhash都有什么区别
- webpack的hash有什么作用
- 浏览器什么情况下会对资源进行缓存
- 你一般会如何设置浏览器缓存, 详细说一些配置参数
- 304这个状态码, 除了命中协商缓存, 还会有别的情况吗
- http状态码, 301和302之间有什么区别, 何时会发生缓存
- 如果是http跳转https, 你会选择哪种重定向
- vue3使用过吗, vue3和vue2有哪些主要的区别, vue3新特性
- 使用过版本号自动管理, 自动发布流程吗
- 为什么会想要跳槽离职呢
- 你还有什么想问的吗
四面 [远程] 20分钟
- 换了个部门就简单聊了聊, 没问技术, 就瞎聊
E轮融资, 马上上市, 但是最高只能给到*k14薪, 可惜了
早上10点到晚上10点, 虽然是双休, 但是感觉业余学习时间就不剩什么了
【04-29】🤔 X公司
15k-25k 975 工作制
一面 [电话] 35分钟
- type和interface有什么区别
- 有用过哪些ts的工具类方法吗
- ts里面的重载有用过吗
- ts泛型有用过吗
- css布局话都是用哪些布局
- 说一下bfc是什么
- 说一下css怎么实现一个三角形吧
- vue项目你是如何保证组件内部的css不冲突的
- 你觉得css的属性选择器的优先级是多少
- 除了scoped, 你还有其他方式实现局部css吗
- 知道bem规范吗, class命名规范
- 你能说一下element-ui的class的命名规范吗
- 有做过这种主题换肤的思路吗
- 除了css变量实现主题换肤, 你还有其他方式吗
- 如果是两种颜色混合出一个新的颜色, 该如何计算
- 能说一下function和箭头函数的区别吗
- 知道Promsie.all这个方法吗, 可以实现这个all方法吗
- 说一下map和forEach的区别吗
- reduce用过吗, 说一下他的参数都是什么
- 说一下输入url到页面渲染这个过程发生了什么
- 那bfc在浏览器渲染的时候会做哪些操作 (这道题有争议)
- 自动化部署这方面有了解吗
- 单元测试有些过吗
- react有做过吗
- vue里面的$set应该在什么时候使用
- vue的nextTick他的作用是什么
- 有用v-model封装过组件吗, 怎么传参
- vue的.sync修饰符用过吗
- vue里面的$attrs和$listeners是做什么用的
- vue里面怎么实现一个高阶组件
- vue里面怎么实现一个hooks组件
- vue3有用过吗
- $watch和$watchEffect之间有什么区别
- 正则有些过吗
- 前端有做过安全方面的东西吗 (这题的XSS有争议, 一会看一下)
二面 [电话] 18分钟
聊得一般般, 觉得我薪资要的高, 这个人不懂前端, 就随便聊了聊
HR面 [电话]
磨蹭了半天最后说给不到期望薪资, 压薪资还谈什么谈, 应付了两句就挂了
【05-07】😮 Y公司
10-10-5 工作制
笔试题 30分钟
- 问输出什么, 我说的14857263发现不对, 控制台显示236
console.log(1)
setTimeout(() => {
console.log(2)
Promise.resolve().then(() => console.log(3))
})
new Promise(resolve => {
resolve()
console.log(4)
}).then(() => {
console.log(5)
setTimeout(() => console.log(6))
}).then(() => {
console.log(7)
})
console.log(8)
- 问输出什么
console.log(a, b, c)
var a = function () {
console.log('1')
}
function b () {
console.log('2')
}
var c = '3'
var a, b, c
console.log(a, b, c)
问输出什么
var name = '1' function Person (name) { this.name = name this.sayHi = function () { console.log(this.name) setTimeout(function () { console.log(this.name) }, 1000) } } var obj = { name: '2', sayHi: () => { console.log(this.name) } } var p = new (Person.bind(obj, '3'))() p.sayHi()
问输出什么
let obj = { a: 0 }
function fn (obj) {
obj.a = 1
obj = { a: 2 }
obj.b = 2
}
fn(obj)
console.log(obj)
实现一个流程控制函数, 太复杂了不写了
二叉树求最近的公共祖先节点
实现Foo函数 (我以为是魔改promise底层, 面试官说利用事件循环)
Foo('jack') // 输出: my name is jack
Foo('jack').sleep(10).eat('food') // 输出: my name is jack // 等待10秒 // 输出: eat food
Foo('jack').eat('food').eat('food') // 输出: my name is jack // 输出: eat food // 输出: eat food
Foo('jack').sleepFirst(5).eat('food') // 等待5秒 // 输出: after 5 // 输出: my name is jack // 输出: eat food
### 一面 [远程] 40分钟
?> 先是聊笔试题讲解为什么
1. 什么是BFC
2. 什么是层叠上下文
3. 什么是闭包, 为什么会产生闭包
4. 改变this指向有哪些方式
5. 让你实现一个call你有思路吗
6. vue和react你熟悉哪个
7. nextTick是用来做什么的
8. vue2和vue3区别
9. vue3的diff算法你了解吗
10. 说一下浏览器缓存
### 二面 [远程] 45分钟
1. 你觉得vue2里面的defineProperty有什么问题
2. 在vue3里面是如何解决这个问题的
3. vue里面for循环为什么要写key
4. diff算法在vue3里面的优化
5. 除此之外的话, vue3还有哪些其他的更新/优化吗
6. 在vue2中为什么子组件内不能修改父组件传递的props
7. vue里面父子组件嵌套的生命周期是什么
8. 在平时你会用到mixins混入吗, 替代方案?
9. 在vue中我怎么去捕获错误
10. 你是怎么对登录进行持久化, 以及登录的判断
11. 接口你们是怎么封装的
12. 你们是如何对后端接口返回的数据, 做错误处理的
13. 如果我想在已有的系统上做埋点/错误上报, 该如何去实现
14. 项目中的权限控制你是如何处理的
15. 如果我想实现一个element-ui的$message该如何实现
16. 介绍一下你的开源项目
17. 介绍一下项目中的难点/亮点
### 三面 [远程] 25分钟
1. 如果是面对大量的页面需求, 有什么可以提升效率的方案吗
2. 如何对生成的页面进行响应式布局
3. 如何取识别ui的设计图, 来快速的生成一个页面
4. 如何提高ui图片识别的一个准确率
5. 如何去处理一些特殊或者未知的元素的渲染
6. 像是一些无法识别的, 错误的元素怎么办
7. 如果是想要适配更多主流的css组件库怎么办
### hr面 [远程]
给的**k*14薪的offer, +800餐补, +1500房补, 各种福利待遇不少, HR诚意满满, 极力的想要我过去
## 【05-11】🙁 Z公司
### 一面 [电话] 45分钟
1. 说一下你的项目
2. 项目中都做过哪些细节
3. 有哪些你认为比较复杂的
4. 宏任务微任务说一下
5. promise状态后续如何改变, 多个promise如何串联
6. axios拦截器如何设置多个
7. 回溯算法sku多商品属性切换的库存置灰问题
> 面试过程比较尴尬, 因为我司的项目说实话真没啥可说的, 面试官的侧重点又全在项目上, 本以为凉了, 没想到给我过了
### 二面 [线下] 40分钟
没有聊技术, 感觉全程都在聊52原则, 因为面试官是从京东出来的, 有种何不食肉糜的味道
> 我但凡要是有选择的权利, 谁不喜欢大公司的稳定? 我就这么愿意去风雨飘摇的小公司?
### HR面 15分钟
全程含蓄的压薪资, 不过从体验上来讲, 比刚刚的二面好多了
> 全程面试都挺失望的, 本以为是一场排位, 结果.........只能感叹日落西山啊
## 【05-09】😘 AA公司
`25k-40k * 14薪 965 工作制`
### 一面 [远程] 30分钟
1. 封装一个方法, 对数组扁平化去重, 并得到一个升序的数组
// 输入以下值 var arr = [ 15, [1, new Number(10), 2], { a: 3, b: [4, 7, 8] }, [6, 7, 8, 9, [11, 12, [12, 13, [14]]]] ] // 返回下面的值 [1, 2, 3, 4, 6, 7, 8, 9, 10,11, 12, 13, 14, 15]
2. 实现一个版本比较函数, 并返回结果
console.log(compareVersion('1.0.0', '>', '1.1.1')) // false console.log(compareVersion('2.0.0', '>', '1.1.1')) // true console.log(compareVersion('1.99.10', '<', '2.1.1')) // true console.log(compareVersion('1.1.1', '<=', '1.1.1')) // true console.log(compareVersion('1.1.1', '==', '1.0.0')) // false
### 二面 [线下]
1. 你一般学习技术的话都是通过什么手段
2. 平时项目中遇到过哪些难点
3. 项目需求迭代的频率怎么样
4. 平时项目中的开发流程
5. git里面reword和reset有什么区别
6. 处理过一些线上bug吗
7. 你们有线上错误日志监控和埋点统计吗
8. 未来的一个发展规划是什么
9. 现在的薪资是多少
10. 你觉得你技术上最大的优势是什么
11. 你一般喜欢开发项目中的哪些部分
12. 小程序做过吗
13. 现在找工作到什么进度了
14. 大学学的什么专业, C++现在还会吗
15. 浏览器输入url到页面渲染的过程
16. DNS查找大概分几层了解吗
17. 页面A跳转页面B, 然后修改了一些数据, 再把数据带回页面A
18. vue组件如何实现缓存
19. 你在平时工作中都封装过哪些组件
20. 有做过跨项目的公共组件管理吗
21. 上线发布流程说一下
22. 你当时怎么想到做软件开发的呢
23. 你对计算机的基础原理/操作系统了解多少
24. 数据库的设计范式有了解吗
25. nodejs有用过吗
26. react了解过吗, react最新版了解过吗
> 友好的沟通, 这轮并不是很正规的技术面, 可能更偏向于聊天形式的交谈
### hr面 [电话]
并没有想象中的那么大方, 我要了个**k, hr就跟见了鬼一样, 说话的声调都变了, 以至于她后面说出来的每一个字都散发着不可置信的语气
> 感觉挺无语的, 好歹也是个D轮融资, 拜托hr别这么没见过世面行不行啊
## 【05-10】😋 AB公司
`965 工作制`
### 一面 [远程] 30分钟
1. 说一下盒模型吧
2. 什么是BFC
3. 垂直居中有几种方式
4. 说一下js基础数据类型
5. 平时Symbol有用到过吗
6. 那你讲讲闭包
7. 一般工作中什么时候会用到闭包
8. 防抖和节流什么区别
9. es5的原型链继承如何实现
10. 普通函数和箭头函数有什么区别
11. 箭头函数为什么不能new
12. set和map什么区别, map和obj啥区别
13. async/await如何处理错误
14. 跟我讲讲重排重绘吧
15. 跨域讲一下, 为什么会出现跨域
16. jsonp的原理已经他如何拿到服务器的信息
17. 能讲讲Event Loop吗
18. webpack熟悉吗
19. 你知道webpack的loader和plugin吗
20. 那你知道webpack的热更新原理吗
21. vue和react都使用过吗
22. vue的computed和watch有什么区别
23. v-model平时你都怎么使用
24. import和require之间什么区别
25. 说一下vue的缓存组件
26. vue3.0为什么使用proxy拦截数据
27. 能讲讲vuex吗, 刷新页面会怎样
28. http1.1和http2.0之间什么区别
29. iframe是什么, 正常页面如何与iframe通信
30. 强缓存和协商缓存有了解吗
31. axios请求数据, POST为什么会发送一个OPTIONS
32. websockets有用过吗
33. 能跟我讲讲你是怎么理解ssr的吗
34. uniapp和taro有用过吗
### 二面 [远程] 20分钟
1. 你最近哪个项目的印象比较深刻
2. 你在你们团队中处于一个什么样的角色
3. 你的开源项目都遇到过哪些问题
4. 你的开源项目做过哪些性能优化
5. 浏览器的缓存规则详细说一下
6. 浏览器的事件循环是怎样的
7. HTTP状态码说一下
8. 前端性能优化都能做哪些
9. CDN有了解过吗
10. js里面的垃圾回收机制都有哪些
11. 小程序熟悉吗, 最近做过哪些
12. nginx和nodejs相关的做过吗
13. vue里数据双向绑定原理是怎样的
14. 你觉得es6的proxy有怎样的问题
15. 这三种声明方式var, let, const的区别
16. cosnt为什么不可以更改
17. 箭头函数跟普通函数之间有什么区别
18. es6里面的promise和async/await有什么区别
19. 你个人会倾向于哪个方向的业务开发
### 三面 [远程] 40分钟
没录音太可惜了, 问了很多而且很深入, 除了算法, 感觉所有方面都覆盖到了, js, vue, 小程序, canvas, 浏览器原理, 网络协议, webpack
> 太可惜了, 我后来才知道这是个大大佬
### hr面 [远程] 20分钟
这个hr很难缠, 问的问题都很刁钻, 感觉像是心理学专业似的
> 我要了个**k, 后面hr就开始很诧异的问我要这么高的底层逻辑是什么....
## 【05-11】😃 AC公司
`10-8-5.5 工作制 有加班`
### 一面 [远程] 30分钟
1. 我看你项目里有提到nuxt做seo优化
2. nuxt通常会被称为同构应用, 你能解释一下他的同构过程吗
3. 除了nuxt这种, 你还有其他对原项目改动较小的, seo优化方案吗
4. 像是后台项目, 都会有一些复杂的表单联动, 你能描述一下吗
5. react使用过吗, vue3了解吗
6. vue3有哪些升级点能说一下吗
7. Promise新增的allSettled和all之间有什么区别
8. 在es5里面怎么实现继承呢
9. 能说一下跨域吗
10. 浏览器为什么会有跨域的限制, 浏览器如果不限制跨域会怎样
11. 你能详细说一下cors跨域的具体过程吗
12. 能说一下你对js闭包的理解吗
13. 在js里面有哪些会造成内存泄漏
14. webpack你平时会有一些配置吗
15. 你能说一下loader和plugin之间有什么区别吗
16. webpack里面的chunkhash和contenthash有什么区别
17. webpack5你有了解过吗
18. es6里面的模板字符串有什么特殊功能吗
19. grid布局有了解吗
20. 响应式布局都有哪些方案
21. 平时都使用过哪些css预处理器
22. async/await在v8引擎里是怎么实现的
23. 那你能说一下generator吗
24. 你觉得generator可以用来解决什么问题
25. http1.1和http2之间有什么区别
> 创业公司, 6个前端, 然后第二天反馈说一面挂了
## 【05-12】😁 AD公司
` 14k-28k 10-7-5 工作制`
### 一面 [远程] 25分钟
1. 说一下你认为比较有亮点的功能
2. 我看你之前还写过服务端渲染
3. 你们的项目做过错误兼容和埋点吗
4. 说一下你的开源项目
5. 关于打包工具你是怎么考虑的
6. 你感觉rollup和webpack有什么区别
7. 如果是让你封装一个组件库, 这种按需引入怎么做
8. 你觉得CJS和ES6 Moudule直接有什么区别
9. react有用过吗, react@17有了解过吗
10. react-hooks你有用到过吗
11. vue3你有了解过吗
12. vue里面的两个路由有什么区别
13. vue里面的$nextTick说一说
14. 小程序和移动端有做过吗
15. 如果我想在数组索引为3的位置上插入一个元素
16. splice会改变原数组吗
17. 如果我想截取数组索引3-5该怎么做
18. slice的返回值是深拷贝还是浅拷贝
19. 实现一个红路灯依次亮起的逻辑, 并循环
20. Promise的all和race有什么区别
21. 假如现在有两个后台管理系统, 怎么共用登录状态
22. 你最近有关心一些新的技术吗
### 二面 [线下] 25分钟
1. vue中$nextTick的作用是什么
2. 能说一下浏览器中的事件循环吗
3. 假设定时器设置的6s, 主线程占用了10秒, 定时器什么时候输出
4. H5做的多吗, 做过微信的公众号授权吗, 怎么获取微信的openId
5. webpack用的多吗, hash chunkhash contenthash之间什么区别
6. webpack做过哪些优化, 具体实现细节还记得吗
7. 负责过团队内部的哪些部分的技术支撑
8. 搭建一些基础组件的时候, 你会考虑哪些东西
9. 函数式编程你是怎么理解的, 高阶函数有用到过吗
10. 函数柯里化有什么作用
11. 详细的介绍一下你的开源项目
12. 我看你还用改nuxt开发项目, 除此之外你还了解哪些vue的ssr方案
13. 你对首屏渲染做过哪些优化
14. vue中的mixins用过吗, 你还有其他的替代方案吗
15. vuex有用过吗, vuex是如何实现响应式的
16. vue的响应式是如何实现的
17. vue的router你用的那种, 你觉得hash相较于history会好吗
> 面试官说加班的频率不低, 并且加班到9点以后只有20块钱的餐补, 五险一金都是最低比例
### hr面
聊得不太好, 福利待遇非常差, hr想约我一个集团总部的三面, 可惜我突然拿到心仪的offer了, 就把三面拒掉了
> 我想不通....一个D轮融资的公司, 福利待遇咋这么差劲
## 【05-14】😛 AE公司
### 一面 [远程] 50分钟
1. 页面中输入一个url到页面渲染经历哪些过程
2. DNS解析是基于怎样的顺序的
3. 你平时开发的时候需要改host吗
4. 你觉得http和https之间什么区别
5. 你觉得https是怎么做到安全传输的
6. 关于浏览器的缓存机制你有了解吗
7. 回流和重绘之间有什么区别
8. 让一个矩形的高度等于屏幕宽度的一半, 该怎样
9. css布局, 一行只容纳三个, 换行向左对齐, 怎么实现
10. 如何清除浮动的副作用
11. flex布局如设置整盒子之间的间距, 都有什么区别
12. var, let, const之间什么区别
13. 如何实现一个const不可更改
14. 箭头函数和普通函数的区别
15. 箭头函数和普通函数都是在何时确定this指向的
16. 几个扩展运算符的基本应用
17. 能简单介绍一下事件循环机制吗
18. 一道简单的事件循环的题, 说执行顺序, 并解释
19. 实现一个sleep函数
20. 数组循环的话map和forEach有什么区别
21. 实现数组方法flat, 并可以通过传参控制扁平化多少层
22. 说一下vue数据双向绑定原理
23. $set是如何实现的, 具体用来解决什么问题
24. 能详细的说一下, vue是如何实现派发更新/收集依赖的吗
### 二面 [远程] 45分钟
1. 说一下平时项目中遇到的一个难点亮点
2. 两个页面跨域名如何读取localStore中的数据, 除了postMessage还有吗
3. 服务端语言平时了解过哪些, nodejs, php, java之类的
4. vue里面从设置变量到页面更新, 中间主要的流程都有哪些
5. 能详细的说一下Dep订阅中心的机制吗
6. vue是如何对比新旧节点, 然后实现页面更新的
7. diff算法中除了key属性之外, 还有别的增加对比效率的东西吗
8. 如果说让你来提升一下diff算法的对比效率, 你有什么想法和思路吗
9. vuex的数据的响应式是如何处理的, 那你有什么思路吗
10. vue-router的hash和history有什么区别
11. router-view是如何定位到将要发生改变并渲染的组件呢
12. 说一下js的基本数据类型和引用类型, 二者有什么区别
13. 拷贝js的数据结构有哪些方式, 如何实现一个深拷贝
14. 对象和函数之间有什么具体的区别吗, 二者之间有什么关联
15. 能说一下js里面关于原型和原型链的概念吗
16. 如何实现一个es5的原型链继承
17. 如果是想继承父类的实例属性和实例方法该如何实现
18. es6的class在继承的时候为什么要调用super方法, 用来做什么的
19. 介绍一下你的开源项目, 实现的思路, 你从中得到了哪些收获
20. 小程序和H5什么区别吗, 小程序的渲染原理和交互通信是如何做的 (渲染引擎, 交互引擎)
21. vue3平时有用到过吗, vue3主要的升级点和改动的地方能说一说吗
22. vue3的compositionAPI的初衷是什么, 相较于vue2的optionsAPI有什么优点
23. babel是怎么通过webpack把一些浏览器不支持的语法进行转换的
24. 平时项目中用的什么css预处理器, 还是其他postcss之类的配置
25. 如果让你实现一键换肤的功能, 你会如何实现, 除了css变量你还有其他方案吗
26. 为什么css变量可以在运行时做更新呢, css变量他会带来什么问题吗
27. 你总结一下你做前端三年了, 有哪些擅长的点和欠缺的点
### 三面 [远程] 60分钟
太累了, 改天再复盘, 反正我过了
## 【05-18】😊 AF公司
### 一面 [远程] 30分钟
1. 介绍一下你的开源项目
2. vue3有用过吗, 和vue2之间有哪些区别
3. vue-router有几种路由, 分别怎么实现
4. webpack和rollup这两个什么区别, 你会怎么选择
5. 你能简单介绍一下webpack项目的构建流程吗
6. webpack平时有手写过loader和plugin吗
7. webpack这块你平时做过哪些优化吗
8. var, let, const都有什么区别
9. cosnt a = { b: 1 }; a.b = 2有什么方法让他赋值无效
10. arr = [6, 4, 5, 3, 1, 8]能不能用快速排序把数组升序
11. 能不能实现一个洗牌算法, 打乱一个升序数组
12. 如何计算一个算法的时间复杂度和空间复杂度
13. promise你平时有哪些使用场景
14. 实现一个sleep(1000)方法
15. 现在有10个请求, 但是同一时间只能发送三个, 并要保证顺序
16. 能否用C3动画实现一个旋转效果
17. flex用过吗, 都有哪些属性, flex-grow属性是做什么的
18. 如何实现一个元素水平垂直同时居中
19. 在平时项目中你都做过哪些性能优化
20. 能否手写实现一个防抖函数
> 迟到了3分钟, 因为我没想到牛客网视频面试竟然还要验证, 总体来讲, 面的还行
### 二面 [远程]
决定入职了, 就不打算面了, 直接把二面给推掉了
## 总结
以上就是朋友这3个多月来的面试情况,分享给大家,希望对大家找工作有所帮助
同时,面试题也是一份很好的复习题 ,经你们面试找到了方向
总结这个博客,花了2个多小时的时间,再次感谢朋友委托 `helloworld开发者社区` 发表此文章
牛年希望大家都能拿到自己心仪的offer