阿里、得物、涂鸦、途虎面试心得
五月份搬到安静、相对较大的房间后,决定每天早起来复习,在这之前我是通过下班后待公司里学习和晚上在家复习的方式学习,这种方式不合理,因为经过一天的工作自身精力已经消耗的七七八八了,再去学习,效率已经不高了
经过三个月的努力,于 8 月 8 日奥运结束后,我投了简历,这次共投了 6 家公司,分别为阿里、得物、涂鸦、途虎、拼多多、TapTap。其中 TapTap 是想去的,其他五家各有千秋,属于可以拿到 offer 等待公司
其中阿里、得物、涂鸦、途虎四家给了面试机会。周五下午得物面试,面完后电话面试涂鸦,周六阿里电话面试,周一晚上途虎视频面试,结果是都被刷下去了。问过得物的两个面试官”觉得自己今天的表现如何“,一面面试官(同事面)说觉得一般,简历写的不好,应该把自己项目中有用到的技术都写进技能点里,而不是让面试官去找;二面(组长面)说优点是涉猎面广,但是对原理不够深入
虽然没有被面上,但或许是一个好事,因为这次面试透露出我的一些短板。例如对知识的表达,说到底还是对这块知识不了解
面试考点
JS
防抖与节流
口喷不出来,之前做过准备,手写可以,但是没喷出来,还是对原理什么的理解的不够深刻
捕获错误怎么做?
知道 try catch,但是没说来,面试官引导到后面才明白要我说这个
图片懒加载
没做准备,PASS
类数组与数组的区别
说不出个所以来
如何释放闭包
把引用的闭包设为 null
事件循环
这题高频
HTTP 缓存
就途虎的面试官问了,之前做过这方面的准备
CSS
BFC 是什么?
阿里面试官问的,老掉牙的问题,但是他一直让我说,我说了几个点还不够,要说全,触发 BFC 的元素有哪些,我当时说了四五个,他说还有呢?淦
flex: 1 表示什么
MD,flex-grow 读错了,英语口语还是重要
左边宽度已知、右边自适应方案
阿里面试官问的,说了四种,问还有吗
React
函数式组件与 class 组件的区别
这竟然是最常见的问题,说了好几个点,没抓到重要,重点是 函数式组件能捕获每次渲染时的值,这个俗称 Capture Value。React 的主要开发者 Dan 写过一篇文章函数式组件与类组件有何不同?
周五面试得物、涂鸦,都问到了这个问题
为什么不能在循环中调用 hooks?react 中为什么不能在 for 循环、if 语句里使用 hooks,说下 react hooks 实现原理。
虚拟列表,1000 条数据 插入不卡的那种
Fiber 是什么?
- 多了调度器,有优先级,优先级的顺序是怎么个排序?
React.memo、React.useCallback、React.usememo 的作用
this.setState 是异步还是同步?为什么?
- 什么事件可以触发异步,什么会触发同步
- 如下的代码,它的 a 的值是多少?又 render 了几次
1 | class C extends Component { |
- useState 中的值是个对象,改变对象中的值,demo 会渲染吗?如果用 React.memo() 包裹住呢
1 | function demo() { |
react 从本页面跳转至其他站点页是否会执行 unmount?为什么
A:不会,但不知道为什么
react 中的 错误捕获
React.Router 的模式
手写一个
三种模式
Dva 中与 namespce 同层的参数有哪些
ES6
Promise 链式调用
- 链式调用怎么写
展开运算符的特性
- 能展开 string、array、object
commonJS 与 ES 模块的区别
webpack 打包后,commonJS 中的引用会被引用吗?ES6 模块的呢?为什么
移动端
适配方案
JsBridge
移动端 ios 输入时 input 被挡住, 安卓键盘回落后留白问题
弹出款滚动问题(没人问,但是我想写一篇)
组件
- 主题色
TS
- any 用的多吗?什么时候会用 any?什么时候不用
Webpack
webpack 打包后,commonJS 中的引用会被引用吗?ES6 模块的呢?为什么
split code 代码分割的原理是什么
CI/CD
你是如何打包项目的
A:我的情况是,项目在本地打包,然后把 dist 文件提交到 git 上,再登录服务器,手动 git pull
我当然知道确定这种方式不科学,公司不提供服务器,没资源,组长也不愿意做变化
我上家公司是把代码放在 gitlab 上,也方便各位 review 代码
目前看,我后续会把个人开发者如何利用 GitHub 来做 CI/CD,可以看看这篇 GitHub Actions 部署前端项目 以及 这篇 GitHub Actions + Github Page
Docker
dockerfile 中的参数有哪些
FROM、RUN、BUILD…
疑惑
很神奇,五个面试官都没有问原型、闭包、作用域、执行上下文之类的问题,也许是因为现在是高级前端开发面,所以不问这些基础的?
后记
女朋友看到我努力了三个月,每天早上 6 点起来学习,周末也会抽出时间来看一些技术方面的知识,但还是没有面上。
她对我说:你的经历让我看到不是所有的努力都会有回报,所以让我觉得努力没用。
我不懂这有什么好伤感的。面试,面不上,很正常,毕竟不是小公司,对人的要求本身就很高,我已经在这次经历中知道自己的不足,这很重要,美团还没面,这也很重要,我也有时间可以复习,再进步,这就足够了…
不是努力有没有用的问题,是成长。能进大厂是结果,学到知识是过程。而且去了大厂我还是会每天早起学习,这是拉开人与人之间距离最好的方式,别人在休息的时候你再学习,你学习时间比别人多,勤能补拙。不要觉得”勤能补拙“这个词有多么不好,我觉得很好。做到勤就比很多人优秀了
但我也不是什么奋斗逼,口号喊得很响亮,但是身体却没力行,面试-不足-克服,就像打游戏一样,打不过 BOOS,先去打大头兵,涨经验,就这么简单