三次大厂实习面试的相关总结

3,269 阅读6分钟

前言

简单起个头,对于应届实习生,还是考基础的多😢。

大致情况

首先一共参加了三次面试,第一次面试就不知死活的撞上了阿里的ICBU,死的老惨了。剩下两次又是头条的大佬们,说来也不光是我不知死活,目前好像确实只有大厂还在招实习生。

说一个个人情况,从去年5月接触Web,到8月开始专心学习前端,到现在也有半年多了,但是自己的知识体系并不完善,总体来说实力不够让我安心面试,同时也希望用面试完善自己的知识体系。总之,有些知识并不是自以为学会了就可以在面试中完全发挥出来,这是我在这三场面试中学到的最重要的东西。

阿里ICBU

电话打来是有点蒙蔽的,投出去第三天就要求当天面试,再看看我别的投递记录,平静的一点水花都没有。

这次是电话面,面完只会大佬说电话不方便问算法,这一点我还真没想到,还准备了好久的算法。

首先是大佬自我介绍,给没听过ICBU的我整的是一脸懵逼。

接着是我自我介绍,预先背了一段,主要从学习经历和项目经历说。介绍完后大佬揪着我的研究方向简单问了一下,对大家没什么帮助,就不提了。

大佬还是很平易近人的感觉,慢慢引出第一个提问:

  1. 按照你的网站,说一下从输入URL到渲染页面的每一步。🙄输入URL到渲染出界面的过程肯定都准备过的,我觉得大佬也知道,他这里是想问我做SSR原理,next.js的SSR。

  2. 接着谈到了UI库,大佬很会引用,从我说的话找到点,从Antd问到了bootstrap。😢我只是之前做Django的时候用过点bootstrap的东西,自然凉凉。

  3. 然后说到三列布局,两边固定中间自适应。🤣在讲用flex的时候我扯了一通,扯的我自己都迷糊,做了很多无用功,比如什么左右设置flex-basis,其实设个固定宽度就好,我也不知道自己为嘛脑抽要讲flex-basis,说完这个基本就感觉凉透了。不过从这里我开始认真去考虑自己的CSS功底,我发现自己做很多布局都得试两下,虽然试几个属性都能试出来,但是面试终究讲究一锤定音,磨磨蹭蹭就算是对的也让人感觉你基础不好的样子.

  4. 大佬还是很淡定,慢慢讲到了ES6,问我自己知道的ES6特性,说了一堆之后抓住箭头函数,问我如何在低版本浏览器使用箭头函数。一说起Babel就泪千行😭,至此完全蒙蔽。

  5. 说完ES6,大佬说聊聊ES5,说个很简单的问题,构造函数方法和原型上方法的区别,我讲出一点原型上的方法的共享之后,大佬说至少有三点。😯后来百度到的是序列化和方法定义的位置不同?不知道还有没有别的。

  6. 大佬想问CommonJS,被我很菜的制止了。

  7. 大佬问了TS,type和interface的区别。

  8. 最后大佬很有章法的回到了React,问从纯前端角度来看,React是如何渲染、更新页面的,讲到这个的时候我整个人已经无心面试了,也不想去思考他想问什么,就单纯的想把这些题记录下来后面再准备。

除此之外还有些小问题,基本不用准备的那种,就不罗嗦了,总之面试体验很好,后面反省了很多。

头条一面

和阿里不同,头条给了五六天的准备时间,大佬人很好,我自我介绍之后还说了句很详细。

  1. 大佬首先从HTTP开始问,问和HTTPS的区别😣,RSA和TLS都讲了,这方面原本我准备的挺多,但是发现了一个问题,就是自己觉得记下来的东西在复述给其他人的时候说的贼烂,这一点以后感觉练习的时候要出声去复述。
  2. 说完这个后,大佬又问了div的垂直居中,勉强答出来四种,好像刚刚及格。
  3. 然后是问到了position,😞我竟然把sticky给忘了,只记得粘性定位.
  4. 接着大佬问我网站的布局中的固钉怎么实现的,尴尬的只能说是antd的自带组件,要实现的话可以用粘性定位,回到上一题. 大佬说那兼容性不行啊,于是这个题又充分暴露了我竟不知道计算距离视口顶部高度的API的问题.
  5. 接着来到了cookie,sessionStorage和localStorage,大佬问客户端和服务端怎么设置cookie.难受🥱
  6. 然后是跨域,没有问很深,长舒一口气
  7. 聊到这里,大佬觉得得上题了,给了个this指向的题,也没做全对,有时候脑子就不转我也不知道为嘛.
  8. 然后大佬又问了我个逻辑题,三个红帽子,两个蓝帽子,三个人看不到自己的帽子,然后他们同时说出了自己帽子的颜色,问三个人帽子的颜色. 我反正是没分析出来.
  9. 最后大佬让做两数之和.

除此之外还有些问题记不清了,但应该都挺简单,没有记录的价值.大佬很耐心,不会的也会引导你得出答案,有的题也会给你讲清楚

头条二面

二面有点晚了,大佬明显有点累,首先让我说说自己的项目.

  1. 首先还是问cookie, 这次更加详细了点,中途做了准备,这次答得多了点.包括cookie属性,如何设置等等.
  2. 然后问了下HTTP缓存,从强缓存,协商缓存,到缓存代理.
  3. 然后问了下HTTP2.0的问题
  4. 接着是load 与 DOMContentLoaded,这个我并没有准备,只记得做过一道题里面有,当时没有用心啊,凉凉🥺
  5. 大佬没问太多JS和CSS的问题,可能是一面面过了,只问了原型链和模块化里面ES module的好处.
  6. 算法这方面,大佬问的还是两数之和,我提醒大佬上轮刚面过了,好巧.然后大佬让我写个向二叉树添加节点,并保证他是平衡二叉树.😫菜鸡开始了漫长的挣扎之路,最后用层次遍历实现了个错误答案,大佬不忍直视,说实现个二叉搜索树的插入吧,松了口气,然而还是做错了,大佬指出错误后磨蹭了一会才弄出来.

同时也发现了一个问题,自己写的算法,没有准备的话,没有一点自信.

总结

不知道说点啥,前端要复习的知识还是很多的,面试官都鼓励多写写香草JS,也是我以后要注意的地方吧,加油了.