大家好,欢迎来到IT知识分享网。
大家好,受朋友委托,把朋友的面试经验整理成博客,分享出来供大家参考,在这3个多月的时间内,一共面了30家以上的公司,有失败的经验,也有面的不错的经验,分享出来,供大家参考,应朋友所托,公司的名字大部分以字母代替。
如果需要面经八股文的话可以小伙伴可以直接转发+关注后私信(学习)即可免费获取!
如果你也在约面试练手, 那可以给你几个小小的建议
- 0 ~ 20人的公司不要去面了, 效果很差的, 根本起不到练习的效果!
- 没有前端的不去, 有的公司连个前端都没有, 这咋练习, 跟后端对线吗?
- 周六日的小公司不要去, 因为压榨型公司面不出效果的, 他家的前端满脑子都是业务…
祝各位都能拿到心仪的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
【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开发有哪些不一样的地方吗
- 写过小程序吗, 用什么写的
【03-22】 I公司(失败)
改天吧, 我累了, 懒得听录音了…
【03-29】 悦淘网络
一面 20分钟
- webpack有用过吗, 用过哪些配置项
- 对于webpack构建流程了解多少
- vue里面根据不同环境下如何打包
- vue组件通信有哪些方式
- 项目中如何处理权限/菜单/角色的控制
- 除了vuex还有其他处理全局用户状态
- vue里都封装过哪些类型的组件
- 项目里面用过哪些CSS组件库, 组件库有没有二次封装过
- vue的scoped样式如何穿透
- 如果你接到一个展示数据的需求, 你会如何规划页面让用户看着更舒服
- 开发过程中有没有觉得产品的设计不太对的情况
- 小程序你了解多少, 有没有做过多端小程序开发
- 微信支付和支付宝支付对接过吗
- 微信分享功能做过吗
- 微信有没有禁用分享的方法
- 第三方登录对接过吗
- 个人的职业规划有哪些
二面 10分钟
hr全程抖腿/时不时的颠头, 从简历上的方方面面批评我, 否定我个人的任何成就, 说白了就是不断的从任何角度压薪资, 好家伙我还没入职呢就开始PUA了
【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和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项目, 然后跟我说复原这个设计稿
我说现场写页面?
她反问你不是前端吗?
我一听这直接就走人了, 设计稿我估摸了一下, 需要写一个下午, 十有八九是个骗代码的
【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的响应式原理结合发布订阅模式一起说说
- 项目中做过权限管理模块吗, 后端控制路由渲染方案
【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())
- 问输出什么
(function () { console.log(1) setTimeout(() => console.log(2), 1000) setTimeout(() => console.log(3), 0) console.log(4) })();
- 没啥技术含量, 就一个Promise.all的应用, 懒得写了
- 手写一个深拷贝
- 实现add函数, 如: add(1)(2); add(1, 2)(3)
一面 35分钟
- 说一下vue的生命周期, 在不同阶段vue做了哪些事
- 有用过vue3吗, 说一下vue3做了哪写优化
- 项目中vuex用的多吗, 为什么要使用vuex呢
- vue-router原理说一下
- vue组件之间的通信方式
- webpack用到的多吗
- 平时项目中有对项目做过哪些优化吗
- 项目中有做过线上错误日志收集之类的吗
- 说一下跨域, 为什么会出现跨域呢, 跨域请求是否可以被服务端接收到
- call / apply / bind之间有什么不同, 手写一个bind方法
- 原型和原型链介绍一下
- 手写实现(2).add(4)得到6, (1).add(2)得到3
- 问输出什么
Promise.resolve('foo') .then(Promise.resolve('bar')) .then(res => console.log(res))
- 问输出什么
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)
- 实现一个sleep(1000)函数
- CMD和UMD的区别是什么
- 在项目中开发过一些UI组件吗
- vue路由中的按需加载用过吗, 内部实现原理了解吗
二面 30分钟
- 开源项目的设计思路和相关API
- ts里面的type和interface有什么区别
- 问了点this指向的相关问题
- 平时一般会通过什么方式去自学
- 问输出什么
setTimeout(() => console.log(1)) new Promise(resolve => { resolve() console.log(2) }).then(() => console.log(3)) console.log(4)
- setTimeout和setInterval区别, setInterval会有哪些问题
- 写过webpack插件吗
- 这个小程序有没有去了解过他的原理
- 设计模式了解吗, 发布订阅模式可以写个伪代码吗
- Map和WeakMap之间有什么区别
- 关于js在浏览器运行时阶段, V8引擎做过哪方面的优化
- 说一下http常见的状态码
- 近几年个人规划和职业规划是什么
三面 [远程] 37分钟
- 贡献屏幕, 解一道题
// 假设本地机器无法做加减乘除法,需要通过远程请求让服务端来实现。 // 以加法为例,现有远程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分钟
- 换了个部门就简单聊了聊, 没问技术, 就瞎聊
【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和attrs和listeners是做什么用的
- vue里面怎么实现一个高阶组件
- vue里面怎么实现一个hooks组件
- vue3有用过吗
- 和watch和watch和watchEffect之间有什么区别
- 正则有些过吗
- 前端有做过安全方面的东西吗 (这题的XSS有争议, 一会看一下)
二面 [电话] 18分钟
聊得一般般, 觉得我薪资要的高, 这个人不懂前端, 就随便聊了聊
HR面 [电话]
磨蹭了半天最后说给不到期望薪资, 压薪资还谈什么谈, 应付了两句就挂了
【05-07】 Y公司
10-10-5 工作制
笔试题 30分钟
- 问输出什么, 我说的发现不对, 控制台显示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分钟
?> 先是聊笔试题讲解为什么
- 什么是BFC
- 什么是层叠上下文
- 什么是闭包, 为什么会产生闭包
- 改变this指向有哪些方式
- 让你实现一个call你有思路吗
- vue和react你熟悉哪个
- nextTick是用来做什么的
- vue2和vue3区别
- vue3的diff算法你了解吗
- 说一下浏览器缓存
二面 [远程] 45分钟
- 你觉得vue2里面的defineProperty有什么问题
- 在vue3里面是如何解决这个问题的
- vue里面for循环为什么要写key
- diff算法在vue3里面的优化
- 除此之外的话, vue3还有哪些其他的更新/优化吗
- 在vue2中为什么子组件内不能修改父组件传递的props
- vue里面父子组件嵌套的生命周期是什么
- 在平时你会用到mixins混入吗, 替代方案?
- 在vue中我怎么去捕获错误
- 你是怎么对登录进行持久化, 以及登录的判断
- 接口你们是怎么封装的
- 你们是如何对后端接口返回的数据, 做错误处理的
- 如果我想在已有的系统上做埋点/错误上报, 该如何去实现
- 项目中的权限控制你是如何处理的
- 如果我想实现一个element-ui的$message该如何实现
- 介绍一下你的开源项目
- 介绍一下项目中的难点/亮点
三面 [远程] 25分钟
- 如果是面对大量的页面需求, 有什么可以提升效率的方案吗
- 如何对生成的页面进行响应式布局
- 如何取识别ui的设计图, 来快速的生成一个页面
- 如何提高ui图片识别的一个准确率
- 如何去处理一些特殊或者未知的元素的渲染
- 像是一些无法识别的, 错误的元素怎么办
- 如果是想要适配更多主流的css组件库怎么办
hr面 [远程]
给的k*14薪的offer, +800餐补, +1500房补, 各种福利待遇不少, HR诚意满满, 极力的想要我过去
【05-11】 Z公司
一面 [电话] 45分钟
- 说一下你的项目
- 项目中都做过哪些细节
- 有哪些你认为比较复杂的
- 宏任务微任务说一下
- promise状态后续如何改变, 多个promise如何串联
- axios拦截器如何设置多个
- 回溯算法sku多商品属性切换的库存置灰问题
面试过程比较尴尬, 因为我司的项目说实话真没啥可说的, 面试官的侧重点又全在项目上, 本以为凉了, 没想到给我过了
二面 [线下] 40分钟
没有聊技术, 感觉全程都在聊52原则, 因为面试官是从京东出来的, 有种何不食肉糜的味道
我但凡要是有选择的权利, 谁不喜欢大公司的稳定? 我就这么愿意去风雨飘摇的小公司?
HR面 15分钟
全程含蓄的压薪资, 不过从体验上来讲, 比刚刚的二面好多了
全程面试都挺失望的, 本以为是一场排位, 结果………只能感叹日落西山啊
【05-09】 AA公司
25k-40k * 14薪 965 工作制
一面 [远程] 30分钟
- 封装一个方法, 对数组扁平化去重, 并得到一个升序的数组
// 输入以下值 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]
- 实现一个版本比较函数, 并返回结果
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
二面 [线下]
- 你一般学习技术的话都是通过什么手段
- 平时项目中遇到过哪些难点
- 项目需求迭代的频率怎么样
- 平时项目中的开发流程
- git里面reword和reset有什么区别
- 处理过一些线上bug吗
- 你们有线上错误日志监控和埋点统计吗
- 未来的一个发展规划是什么
- 现在的薪资是多少
- 你觉得你技术上最大的优势是什么
- 你一般喜欢开发项目中的哪些部分
- 小程序做过吗
- 现在找工作到什么进度了
- 大学学的什么专业, C++现在还会吗
- 浏览器输入url到页面渲染的过程
- DNS查找大概分几层了解吗
- 页面A跳转页面B, 然后修改了一些数据, 再把数据带回页面A
- vue组件如何实现缓存
- 你在平时工作中都封装过哪些组件
- 有做过跨项目的公共组件管理吗
- 上线发布流程说一下
- 你当时怎么想到做软件开发的呢
- 你对计算机的基础原理/操作系统了解多少
- 数据库的设计范式有了解吗
- nodejs有用过吗
- react了解过吗, react最新版了解过吗
友好的沟通, 这轮并不是很正规的技术面, 可能更偏向于聊天形式的交谈
hr面 [电话]
并没有想象中的那么大方, 我要了个k, hr就跟见了鬼一样, 说话的声调都变了, 以至于她后面说出来的每一个字都散发着不可置信的语气
感觉挺无语的, 好歹也是个D轮融资, 拜托hr别这么没见过世面行不行啊
【05-10】 AB公司
965 工作制
一面 [远程] 30分钟
- 说一下盒模型吧
- 什么是BFC
- 垂直居中有几种方式
- 说一下js基础数据类型
- 平时Symbol有用到过吗
- 那你讲讲闭包
- 一般工作中什么时候会用到闭包
- 防抖和节流什么区别
- es5的原型链继承如何实现
- 普通函数和箭头函数有什么区别
- 箭头函数为什么不能new
- set和map什么区别, map和obj啥区别
- async/await如何处理错误
- 跟我讲讲重排重绘吧
- 跨域讲一下, 为什么会出现跨域
- jsonp的原理已经他如何拿到服务器的信息
- 能讲讲Event Loop吗
- webpack熟悉吗
- 你知道webpack的loader和plugin吗
- 那你知道webpack的热更新原理吗
- vue和react都使用过吗
- vue的computed和watch有什么区别
- v-model平时你都怎么使用
- import和require之间什么区别
- 说一下vue的缓存组件
- vue3.0为什么使用proxy拦截数据
- 能讲讲vuex吗, 刷新页面会怎样
- http1.1和http2.0之间什么区别
- iframe是什么, 正常页面如何与iframe通信
- 强缓存和协商缓存有了解吗
- axios请求数据, POST为什么会发送一个OPTIONS
- websockets有用过吗
- 能跟我讲讲你是怎么理解ssr的吗
- uniapp和taro有用过吗
二面 [远程] 20分钟
- 你最近哪个项目的印象比较深刻
- 你在你们团队中处于一个什么样的角色
- 你的开源项目都遇到过哪些问题
- 你的开源项目做过哪些性能优化
- 浏览器的缓存规则详细说一下
- 浏览器的事件循环是怎样的
- HTTP状态码说一下
- 前端性能优化都能做哪些
- CDN有了解过吗
- js里面的垃圾回收机制都有哪些
- 小程序熟悉吗, 最近做过哪些
- nginx和nodejs相关的做过吗
- vue里数据双向绑定原理是怎样的
- 你觉得es6的proxy有怎样的问题
- 这三种声明方式var, let, const的区别
- cosnt为什么不可以更改
- 箭头函数跟普通函数之间有什么区别
- es6里面的promise和async/await有什么区别
- 你个人会倾向于哪个方向的业务开发
三面 [远程] 40分钟
没录音太可惜了, 问了很多而且很深入, 除了算法, 感觉所有方面都覆盖到了, js, vue, 小程序, canvas, 浏览器原理, 网络协议, webpack
太可惜了, 我后来才知道这是个大大佬
hr面 [远程] 20分钟
这个hr很难缠, 问的问题都很刁钻, 感觉像是心理学专业似的
我要了个k, 后面hr就开始很诧异的问我要这么高的底层逻辑是什么….
【05-11】 AC公司
10-8-5.5 工作制 有加班
一面 [远程] 30分钟
- 我看你项目里有提到nuxt做seo优化
- nuxt通常会被称为同构应用, 你能解释一下他的同构过程吗
- 除了nuxt这种, 你还有其他对原项目改动较小的, seo优化方案吗
- 像是后台项目, 都会有一些复杂的表单联动, 你能描述一下吗
- react使用过吗, vue3了解吗
- vue3有哪些升级点能说一下吗
- Promise新增的allSettled和all之间有什么区别
- 在es5里面怎么实现继承呢
- 能说一下跨域吗
- 浏览器为什么会有跨域的限制, 浏览器如果不限制跨域会怎样
- 你能详细说一下cors跨域的具体过程吗
- 能说一下你对js闭包的理解吗
- 在js里面有哪些会造成内存泄漏
- webpack你平时会有一些配置吗
- 你能说一下loader和plugin之间有什么区别吗
- webpack里面的chunkhash和contenthash有什么区别
- webpack5你有了解过吗
- es6里面的模板字符串有什么特殊功能吗
- grid布局有了解吗
- 响应式布局都有哪些方案
- 平时都使用过哪些css预处理器
- async/await在v8引擎里是怎么实现的
- 那你能说一下generator吗
- 你觉得generator可以用来解决什么问题
- http1.1和http2之间有什么区别
创业公司, 6个前端, 然后第二天反馈说一面挂了
【05-12】 AD公司
14k-28k 10-7-5 工作制
一面 [远程] 25分钟
- 说一下你认为比较有亮点的功能
- 我看你之前还写过服务端渲染
- 你们的项目做过错误兼容和埋点吗
- 说一下你的开源项目
- 关于打包工具你是怎么考虑的
- 你感觉rollup和webpack有什么区别
- 如果是让你封装一个组件库, 这种按需引入怎么做
- 你觉得CJS和ES6 Moudule直接有什么区别
- react有用过吗, react@17有了解过吗
- react-hooks你有用到过吗
- vue3你有了解过吗
- vue里面的两个路由有什么区别
- vue里面的$nextTick说一说
- 小程序和移动端有做过吗
- 如果我想在数组索引为3的位置上插入一个元素
- splice会改变原数组吗
- 如果我想截取数组索引3-5该怎么做
- slice的返回值是深拷贝还是浅拷贝
- 实现一个红路灯依次亮起的逻辑, 并循环
- Promise的all和race有什么区别
- 假如现在有两个后台管理系统, 怎么共用登录状态
- 你最近有关心一些新的技术吗
二面 [线下] 25分钟
- vue中$nextTick的作用是什么
- 能说一下浏览器中的事件循环吗
- 假设定时器设置的6s, 主线程占用了10秒, 定时器什么时候输出
- H5做的多吗, 做过微信的公众号授权吗, 怎么获取微信的openId
- webpack用的多吗, hash chunkhash contenthash之间什么区别
- webpack做过哪些优化, 具体实现细节还记得吗
- 负责过团队内部的哪些部分的技术支撑
- 搭建一些基础组件的时候, 你会考虑哪些东西
- 函数式编程你是怎么理解的, 高阶函数有用到过吗
- 函数柯里化有什么作用
- 详细的介绍一下你的开源项目
- 我看你还用改nuxt开发项目, 除此之外你还了解哪些vue的ssr方案
- 你对首屏渲染做过哪些优化
- vue中的mixins用过吗, 你还有其他的替代方案吗
- vuex有用过吗, vuex是如何实现响应式的
- vue的响应式是如何实现的
- vue的router你用的那种, 你觉得hash相较于history会好吗
面试官说加班的频率不低, 并且加班到9点以后只有20块钱的餐补, 五险一金都是最低比例
hr面
聊得不太好, 福利待遇非常差, hr想约我一个集团总部的三面, 可惜我突然拿到心仪的offer了, 就把三面拒掉了
我想不通….一个D轮融资的公司, 福利待遇咋这么差劲
【05-14】 AE公司
一面 [远程] 50分钟
- 页面中输入一个url到页面渲染经历哪些过程
- DNS解析是基于怎样的顺序的
- 你平时开发的时候需要改host吗
- 你觉得http和https之间什么区别
- 你觉得https是怎么做到安全传输的
- 关于浏览器的缓存机制你有了解吗
- 回流和重绘之间有什么区别
- 让一个矩形的高度等于屏幕宽度的一半, 该怎样
- css布局, 一行只容纳三个, 换行向左对齐, 怎么实现
- 如何清除浮动的副作用
- flex布局如设置整盒子之间的间距, 都有什么区别
- var, let, const之间什么区别
- 如何实现一个const不可更改
- 箭头函数和普通函数的区别
- 箭头函数和普通函数都是在何时确定this指向的
- 几个扩展运算符的基本应用
- 能简单介绍一下事件循环机制吗
- 一道简单的事件循环的题, 说执行顺序, 并解释
- 实现一个sleep函数
- 数组循环的话map和forEach有什么区别
- 实现数组方法flat, 并可以通过传参控制扁平化多少层
- 说一下vue数据双向绑定原理
- $set是如何实现的, 具体用来解决什么问题
- 能详细的说一下, vue是如何实现派发更新/收集依赖的吗
二面 [远程] 45分钟
- 说一下平时项目中遇到的一个难点亮点
- 两个页面跨域名如何读取localStore中的数据, 除了postMessage还有吗
- 服务端语言平时了解过哪些, nodejs, php, java之类的
- vue里面从设置变量到页面更新, 中间主要的流程都有哪些
- 能详细的说一下Dep订阅中心的机制吗
- vue是如何对比新旧节点, 然后实现页面更新的
- diff算法中除了key属性之外, 还有别的增加对比效率的东西吗
- 如果说让你来提升一下diff算法的对比效率, 你有什么想法和思路吗
- vuex的数据的响应式是如何处理的, 那你有什么思路吗
- vue-router的hash和history有什么区别
- router-view是如何定位到将要发生改变并渲染的组件呢
- 说一下js的基本数据类型和引用类型, 二者有什么区别
- 拷贝js的数据结构有哪些方式, 如何实现一个深拷贝
- 对象和函数之间有什么具体的区别吗, 二者之间有什么关联
- 能说一下js里面关于原型和原型链的概念吗
- 如何实现一个es5的原型链继承
- 如果是想继承父类的实例属性和实例方法该如何实现
- es6的class在继承的时候为什么要调用super方法, 用来做什么的
- 介绍一下你的开源项目, 实现的思路, 你从中得到了哪些收获
- 小程序和H5什么区别吗, 小程序的渲染原理和交互通信是如何做的 (渲染引擎, 交互引擎)
- vue3平时有用到过吗, vue3主要的升级点和改动的地方能说一说吗
- vue3的compositionAPI的初衷是什么, 相较于vue2的optionsAPI有什么优点
- babel是怎么通过webpack把一些浏览器不支持的语法进行转换的
- 平时项目中用的什么css预处理器, 还是其他postcss之类的配置
- 如果让你实现一键换肤的功能, 你会如何实现, 除了css变量你还有其他方案吗
- 为什么css变量可以在运行时做更新呢, css变量他会带来什么问题吗
- 你总结一下你做前端三年了, 有哪些擅长的点和欠缺的点
三面 [远程] 60分钟
太累了, 改天再复盘, 反正我过了
【05-18】 AF公司
一面 [远程] 30分钟
- 介绍一下你的开源项目
- vue3有用过吗, 和vue2之间有哪些区别
- vue-router有几种路由, 分别怎么实现
- webpack和rollup这两个什么区别, 你会怎么选择
- 你能简单介绍一下webpack项目的构建流程吗
- webpack平时有手写过loader和plugin吗
- webpack这块你平时做过哪些优化吗
- var, let, const都有什么区别
- cosnt a = { b: 1 }; a.b = 2有什么方法让他赋值无效
- arr = [6, 4, 5, 3, 1, 8]能不能用快速排序把数组升序
- 能不能实现一个洗牌算法, 打乱一个升序数组
- 如何计算一个算法的时间复杂度和空间复杂度
- promise你平时有哪些使用场景
- 实现一个sleep(1000)方法
- 现在有10个请求, 但是同一时间只能发送三个, 并要保证顺序
- 能否用C3动画实现一个旋转效果
- flex用过吗, 都有哪些属性, flex-grow属性是做什么的
- 如何实现一个元素水平垂直同时居中
- 在平时项目中你都做过哪些性能优化
- 能否手写实现一个防抖函数
二面 [远程]
决定入职了, 就不打算面了, 直接把二面给推掉了
总结
以上就是朋友这3个多月来的面试情况,分享给大家,希望对大家找工作有所帮助 同时,面试题也是一份很好的复习题 ,经你们面试找到了方向
原文链接:https://zhuanlan.zhihu.com/p/
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/96500.html