前端开发 - 秋招部分面经总结
1. 知乎(一面)- base:北京
- 介绍一下socket.io
- websocket连接过程
- 后端是自己搭建的吗?是否使用了第三方服务?
- 封装了哪些中间件?具体实现了哪些功能?
- webRTC如何实现的视频通话?使用的原生webRTC吗?
- 如何实现的文件切片和断点续传?
- 文件切片过程中的唯一编号如何得到?
- 为什么使用mongodb数据库?存储的数据是什么格式的?是直接存的吗?有无处理?
- 文件的传输是以什么形式传输的?
- 项目中封装了哪些组件?有什么用途?
- 项目中使用ts做的什么工作?
- 如果有一个异步函数,没有返回值,在ts中如何声明该函数?如果是普通函数呢?
- 是否封装过自定义hook?手撕:实现一个useMouse自定义hook函数,要求返回鼠标当前坐标[x,y]
- 箭头函数和普通函数的区别是什么?
- 讲一下Map和Set,如果有a=[],b=[],那么new Set(a,b)的值是什么?Set中判断元素唯一性是按照什么依据?
- 讲一下js中声明变量的几种方式,有什么区别(var、let、const)
- 如果const一个对象或数组,可以修改其中的元素或属性吗?
- 讲一下es6中filter、map和reduce的应用?你了解哪一个?是否使用过?讲一下使用场景和做法
- 哪些方法会修改数组本身?
- 手撕:注入key-value,实现函数inject,接收三个参数:obj、字符串(如:'a.b.c')和value(如:1),生成对象:obj={a:{ b:{c: 1 }}}
2. 亚信安全(一面) - base:南京
- 在地址栏输入url之后到页面渲染的过程
- 正向代理和反向代理
- 项目中如何解决的跨域问题
- 什么是跨域?有哪些跨域的解决方案?
- 项目里遇到过防抖和节流吗?什么是防抖和节流?
- 用过哪些布局方法?grid布局的致命缺点是什么?
- 垂直水平居中方案有哪些?
- 如何画一个三角形?
- js的数据类型有哪些?
- 深拷贝和浅拷贝的区别是什么?如何实现深拷贝?
- 进行过哪些性能优化?
- 如果可视区域内有十万个节点,如何显示?
- vue2中为什么不能同时用v-for和v-if?如何替代完成这项工作?
- vue2和vue3的响应式的原理是什么?
- nextTick的原理是什么?
- vue 中如何修改数组中的元素?
3. 汉得信息(只有一面) - base:无锡
- 是否用ant design做过组件封装?
- 介绍一下vuex
- 讲一下setState和render
- 介绍一下hooks的用法
4. 中冶赛迪(一面+二面) - base:重庆
- 项目中印象比较深的地方是什么?
- 项目中的用户数据是存储在哪里的呢?
- vue的组件通信方法有哪些(vue2和vue3分开说)?他们的应用场景是什么?
- 分别讲一下vue2和vue3的生命周期。在哪个生命周期函数中请求数据?
- es6的新特性有哪些?
- promise对象是什么?有什么方法?
- 其他的记不住了,都是八股,吟唱即可。
- 人事问题
5. 广东电信(一面) - base:广州
- 介绍自己做过的项目
- 是否了解设计模式?
- 讲一下浏览器的渲染过程
- 使用过哪些数据库?是否使用java或python做过数据处理?
- 是否接触过app开发?
- 是否进行过原生的小程序开发?
- 是哪里人?有家人在广东工作吗?男朋友的职业?
6. 中邮消费金融(ai面+一面+二面) - base:广州
一面
- 项目中是如何排查错误和定位问题的?
- 排除错误的时候提到了埋点检测,具体是怎么做的?有没有一个成熟的方案?
- 项目中做了哪些性能优化的操作?
- 刚刚提到了精灵图,是自己写的还是用的第三方插件?
- vue和react在使用上有什么区别?
- 实习过程中如何协调与后端人员的工作?遇到冲突如何解决?
- 3-5年的职业规划是什么?
- 讲一下最近的一个协调团队活动的例子
二面
- 实习阶段的难点是什么?是怎么解决的?
- 为什么不做分页?有没有跟别人沟通?
- vue和react的使用区别是什么?
- react子孙组件通信如何实现?
- react子组件如果想修改父组件的内容如何实现?
- 查看项目性能的时候主要看什么?
- 为什么去广州?北上广深一线城市就选择广州吗?
- 说一个你的缺点
- 3-5年的职业规划
- 在看什么相关的书籍
- 谈一下你的发展方向的选择
7. 其他
- 重庆长安:一面综合面挂;
- 四川电信:拿到终面直通卡,最后没有去;
- 得物:面的第一家,全八股,一面挂;
- 重庆农商行:一面综合面结束;
- 其他公司的面经没记录了(面了哪些都不太记得了。。。)