Hello,大家好!我是Bird,也叫伯德,也叫阿鸟!其实距离秋招过去已经有一段时间了,在这里我就把我的秋招面经分享出来了,很可惜没有一线大厂的面试经历,校招最主要的还是重基础,希望能够帮助到正在准备春招的小伙伴们!加油!
CVTE提前批(offer)
CVTE技术面经 9.7
- 自我介绍
- CSS布局的方式
- 两栏布局实现的方法
- 平时处理过CSS兼容性问题吗
- ES6的新特性
- 箭头函数和普通函数的区别
- 为什么箭头函数不能
new - this的指向问题
- 事件冒泡机制
- 怎样阻止事件冒泡
- 在
HTML标签内定义事件和用addEventListener定义的区别 - 熟悉网络协议吗
- http和https的区别
- 讲一下
TLS协议 - https的数字证书是怎么回事
- 数字证书和密钥有什么关系
- 项目中有没有用到相关的加密措施
- node.js学习程度
- 有用过Jquery吗
- vue和react的区别
- 讲一下单向数据流
- 子组件修改父组件的值也是可以实现的,为什么不呢?
- 有没有了解过
Vue3.0,有什么新特性 - 算法题1:求两个数组的交集
- 算法题2:判断字符串中的括号是否为有效括号
- 反问环节
CVTE综合面经 9.12
- 有没有
offer,投递了哪些公司,为什么没有投递bat大厂 - 期望薪资是多少
- 理想的工作时间,地点
- 怎么看待加班
- 最需要改变的性格
- 从小到大最沮丧的情况,多久调整过来
- 再来一次的话,你会怎么做
- 高中的学习情况,为什么不能更好
- 家庭组成,家里人的工作
- 家庭的经济状况
- 未来三年、五年、十年的工作和生活规划
- 小时候最难忘的事情
- 平常有没有写过博客之类的
- 有没有什么兴趣爱好,频率如何
- 反问的时候,我问了如果收到offer,能否提前去实习(表明我可以提前去实习,小心机
欢聚集团(offer)
欢聚技术一面 9.17
-
H5的语义化标签有哪些?语义化标签的作用 -
css的选择器权重 -
讲一下响应式布局,有什么方法,用过哪些
-
var、let、const的区别 -
let的暂时性死区 -
函数参数传入的是值的引入吗
-
讲一下原型链
-
原型链和作用域链的区别,使用场景
-
讲一下闭包,做了一道代码输出题,提问是否构成闭包
let name = 'zzz' let obj = { print: function () { console.log(name) } } function Fn() { var name = 'zxc' return obj.print } Fn()() -
有哪些异步请求
-
Promise底层如何实现异步 -
对
webpack的理解、有哪些常见配置 -
webpack有哪些配置模块 -
聊了计网,浏览器缓存、浏览器安全、cookie作用和属性等,问的比较深入
-
反问环节
欢聚技术二面 9.27
- 自我介绍
- 聊项目
- 登陆鉴权的流程
- 在登陆成功后,修改数据库取消该用户权限,如何终止其操作 (不刷新
- js文件中的对象在多个组件中应用,实现类似
vuex的响应式(了解vue官方文档 - 输入
url之后会发生什么... - 为什么
TCP需要三次握手?多个客户端请求,服务端如何确认对应的那个? - 服务端返回的
html如何渲染成dom节点 - 解析
html遇到script标签会发生什么?async和defer的区别? - 为什么浏览器要设置成:遇到
script标签要阻塞渲染? - 手写题:实现一个队列,
push和pop方法 - 应该还有其他的题目,有点想不起来了,然后是反问环节了
欢聚技术三面 9.29
虽然邮件上写的是技术三面,但是hr在电话里说面试时间半小时左右,就聊聊天了解一下情况,很快就结束,这让我误以为是hr面... 面试官介绍说自己是部门负责人好像,问的问题也比较的泛,就不是那种某块知识点这种
- 自我介绍(主要让我介绍自己在前端的学习
- 聊了一些项目的场景
vue和react的区别,使用的区别和场景应用的区别- 哪些类型的项目用
vue或者用react比较好 - 如何评估一个项目的性能,有什么手段
- 有哪些性能优化的方法
- 有没有了解过
webp的图片格式 - 问了一些
webpack的一些内容 - 输入一个
url,会发生什么... - 页面如何解析
html文件 shell有了解过吗linux系统熟悉吗- 你觉得你的优势和劣势是什么
- 反问环节
转转(offer)
转转一面面经 9.14
- 熟悉技术栈是
vue还是react,怎么学习的前端 - 有没有了解
vue3.0,vue3.0为什么要用proxy? react用类组件开发还是hooks开发- 讲一下
useEffect,我们可以在useEffect中完成什么操作 - 讲一下
redux,redux数据是怎么渲染到组件的 vue的响应式如何实现- 如何判断一个对象为空对象
- 数据类型的判断,
Object.prototype.toString.call输出值是什么 - 如果在
Object.keys()中传入一个字符串输出什么?为什么? - 如何判断空数组
ES6中的方法判断数据是否为数组- 讲一下
JS继承,具体描述组合继承和class继承 - 三栏布局的实现,回答了
flex布局 - 为什么
flex: 1就可以实现自适应,1是哪个属性的值 flex是几个属性的组合,分别是什么- 动画:一个小球,
hover之后1s内半径变大,0.5内如何变回原样,好像是这样 keyframes是一个属性吗- 写一个方法实现 传入数值的n次幂
- 写一个方法解析
url路径,实现:如果传入key值,输入value值,如果不传值,输出全部参数 - 讲一下cookie、localStorage、sessionStorage
- 你刚刚说到cookie不适合做存储,那它的作用是什么
- 有了
http,为什么还需要https https如何解决http的问题- 反问环节
转转二面面经 9.16
- 问项目,包括了H5的拖拽api、vue的动态组件等
- vue的服务端渲染
- vue的
keepAlive原理以及如何实现路由切换缓存 - 讲一下
vuex的module node如何连接数据库,node的学习程度- 如何实现跨域(后端的做法和前端的做法)
- 那个请求方法作为预检请求
webpack的学习程度css中的sticky属性,问的挺深入sticky的用法、sticky的兼容性问题、如何实现一个sticky- 如何检测属性的兼容性 (答了用
can i use,面试官说在代码中体现,没听过) - 有没有做过
H5页面 - 微信小程序的生命周期
flex布局中,justify-contents属性有哪几个值flex属性是由哪几个值组成的,默认值分别是多少- 如何检测一个对象是空对象
- 如何将一个二维数组转换为对象
- 有没有用过ES6的
class,讲一下static - 什么时候开始学前端,如何学习前端
- 算法题:数组
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],数组b = ['a','b','c','d'],实现a数组每隔5个数据插入一个b数组中的数据:[1,2,3,4,5,'a',6,7,8,9,10,'b',11,12,13,14,15,'c','d'] - 反问环节
转转HR面面经 9.23
- 自我介绍
- 大学的专业课程
- 为何选择前端,如何学习前端
- 大学成绩如何
- 实习经历的收获
- 一直在广东,不考虑去外省发展吗
- 对毕业后工作的期望
- 如何看待二手行业
- 有没有买过或者卖过二手用品
- 反问
普渡机器人(HR面挂,要的太高)
普渡机器人一面 9.11
- 讲项目
- 块级元素和行内元素的区别
- 讲一下css定位
- 闭包是什么
- react的生命周期
- react类组件和函数组件的区别
- 如何防止react子组件的重复渲染
- vue的
nextTick原理 - 讲一下http
- https解决了http的哪些问题
普渡机器人HR面 9.16
- 对之前技术面试的一个评价
- 自学前端的途径
- 针对简历中的项目问了想法和遇到的难点
- 实习过程做了什么
- 实习时间不长,为什么不实习久一点
- 自己开发项目之后的一个收获
- 总结自己的优势,回答三点
- 对于未来工作的企业有什么期望
- 自己有哪些特点需要改正
- 期望的薪资
富途(二面挂)
富途技术一面 9.17
-
聊了项目,问的比较深入,具体模块的实现
-
如何判断一个变量是否为数组,四种方法
-
判断的这些方法是随便选一个用的吗?还是具体场景有所选择
-
instanceof原理 -
封装一个可以设置有效时间的
localStorage -
输出题:一道是原型链继承、一道是
this指向,好像还有一道忘了 -
改变
this指向的方法,具体问了bind的实现 -
算法题(用递归实现斐波那契数列,要求缓存)
function Fibonacci() { let arr = [0, 1] return function fn(n){ if(n < arr.length) { return arr[n] } arr[n] = fn(n-2) + fn(n-1) return arr[n] } } -
网络安全,具体聊了
https、xss攻击、csrf攻击 -
get和post的区别 -
预检请求是什么
-
a.com向b.com发请求,请求会发出去吗 -
跨域的方式有哪些
-
反问环节
富途技术二面 9.23
- 自我介绍
- 实习经历
- 讲项目,聊得比较深入,难点
- 登陆 --> 内容页面,需要几个接口,什么功能,什么技术
- 讲一下
jwt(怎么计算、为什么用、存哪里 - 浏览器安全问题
cookie和session的区别get和post的区别(一直问还有吗...- 讲一下预检请求
- 五子棋的
AI逻辑,问了实现逻辑(乱说一通 - 深度优先遍历和广度优先遍历(要求前端中有没有遇到过,吐了...
深信服(二面挂,搞不懂...)
深信服一面面经 9.25
- 自我介绍
- 问项目,项目难点
vuex的个人理解vuex的各个模块用法、使用流程、刷新后数据丢失咋整- 手写数组扁平化的多种方法
- 手写算法:删除字符串的所有相邻项
- 事件循环输出题
- 手写算法:单链表的反转(迭代和递归
深信服二面面经 9.26
- 自我介绍
- 算法:二叉树的题目:路径总和ii
- 实习经历的收获
- 项目难点
- 路由鉴权 (权限) 的完整流程,动态路由的缺点、优化手段
- 讲解
axios的二次封装、使用 - 懒加载的用法、实现原理
- 防抖优化的用法、实现原理
- 搜索框的一个场景优化
- 什么时候学习前端?如何学习前端?学习过程最有成就感的事情
- 反问环节
万兴科技(二面拒了)
万兴科技一面 9.28
- 自我介绍
- 聊项目
- 归并排序思路
- 二分查找思路
get请求默认缓存,如何不进行缓存position有哪些属性,脱离文档流的有哪些- 垂直居中布局的方式有哪些
- 按钮重复点击的优化
- 回流重绘
- 异步请求的发展
- 有
a b c三个请求,如何实现a和b同步执行后再执行c reduce的用法webpack的配置vue的组件通信方式- 反问环节
小鹅通(二面拒了)
小鹅通一面面经 9.24
- 自我介绍
- 数组有哪些方法
- 排序有哪些算法,问了选择排序的实现
Promise有哪些API,all和race的区别- 宏任务和微任务的区别
setTimeout是不是到了那个时间点就一定执行?- 项目图片懒加载怎么做,实现原理
MVVM和MVCwebpack常用配置有哪些Loader和Plugin的区别- 职业规划、如何带好团队、团队内部意见不和怎么办
- 反问,技术栈是
vue和uniapp