前言
卓哥有句话说的很好,此时你所做出的某些选择,在多年后来看,或许就是你抓住的机会。
在我上周时候得知,有个同学可以帮我内推,我就在想,这会不会是我仅有的机会,我便抛开所有顾虑,把我的简历交给了他。
当我接到hr约面的电话时候,心脏在剧烈的跳动,好像要飞出来一样,久久不能停息。
当进入面试的状态时候,也便没有了其余的顾虑,只剩下复习,面试,复习,再面试,直到现在最终拿到了offer。
有人说,我太顺利了,回来第一个面字节还就面过了,确实,面试这个过程,运气也占很大成分,但庆幸的是,我当初选择迈出了这一步,或许多年后,我还会很庆幸我做出了这个选择。
我想去北京很久很久了,在去年找第一段实习的时候就想过去,不为别的,就想过去看看,见见各位热心的群友,请卓哥吃饭,卓哥真是我的贵人,在我这一路上给予了很大的帮助。
下面分享一下我的面经吧
一面(65min)
-
实习项目
-
大文件上传的过程
-
如何使用web worker进行优化
-
还能说一下其余的优化方案吗
-
如何设计的收藏功能,如何进行数据库迁移的
-
实习项目中的搜索参数如何拼接到url,然后通过url分享配置信息的
-
get和post请求区别
-
解决跨域问题的方案
-
JS作用域和作用域链
-
闭包和闭包的应用场景
-
v-for中的key的作用(引到diff算法中key的作用)
-
js事件循环(引到vue异步更新策略)
-
node.js相关,express框架(只说了会写个简单接口)
-
读代码,作用域的题目(JS采用的是静态作用域)
-
读代码,执行的先后顺序(JS事件循环机制)
-
读代码,变量提升和函数提升(还有个函数覆盖问题)
-
算法
-
-
单链表逆置
-
版本号排序
-
二面(60min)
- 介绍一下实习中的sentry
- 如何实现一个sentry的捕获异常的操作
- 询问是否是私有化部署
- 如何实现一个异常上报操作
- 使异常数据减少80%,这个数据是怎么得出来的
- 更具体的sentry配置
- 所谓竟态问题的场景是什么
- ref和reactive的区别
- 实现一个ref,可以使用其余vue3的api
- ref嵌套ref,怎么访问对应属性值
- 用TS补充手写的函数
- 深挖ref的使用,给了具体两三个示例,回答
- vue3还新增了什么api
- 读代码,关于this的指向问题(call绑定和箭头函数this指向问题)
- 算法
-
-
括号匹配升级问题
如果括号能够匹配成功,则输出所有在()中的内容,不限输出的顺序输入:((2+3)+(3*4))+2输出:2+3,3* 4'(2+3)+(3*4),2.如果括号匹配不成功,则抛出错误输出:errorfunction solution(stn:string){}
-
三面(30min)
- 介绍下Vue收集依赖和触发依赖的过程(从响应式引)
- 模板中是怎么收集依赖的(从模板解析角度回答的)
- 收集依赖是在组件的哪个生命周期(回答的created)
- 组件间是怎么收集依赖的(从组件间通信回答的,不知道对不对)
- 还有什么捕获异常的方案
- window.onerror无法捕获哪种错误(没答上来...)
- 算法
-
- 'a.b.c' => {} (转化成嵌套对象)
种一颗树最好的时间是十年前,其次是现在
感谢虎妞先生这一路上给予我的帮助