前端暑期面试记录

小米一面挂

因为家在武汉,所以还是蛮想去小米实习,顺便回家的,但可惜一面挂,感觉我的这个没有很大的参考价值,因为确实不记得题目了。

1.代码输出提,闭包+变量提升。

先是一个很常规的输出题,做出来后,就评论区发给你好几个for循环的闭包+变量提升的题目,大致第一个是常规的,后面就是什么 自执行,变量放里面,放外面,放后面,直接传入变量,先定义函数后执行这些东西结合for循环的变种,反正我感觉我是已经绕 晕了,有点乱答的意思了,然后面试官就问你答案,理由,也不说正确与否,没有反馈,后面觉得反正乱答也说不出理由,干脆就说不会了。

2.react输出题,结合setTimeout,useEffect更改state,判断打印顺序,应该是和闭包陷阱有关(但我当时都没了解过闭包陷阱),乱答。

3.Ts里any和unknown的区别?(如果真不熟悉ts,就别写了,哪怕是了解,但也可能我ts是真菜)

三个都答得稀烂,面试官这时候就有点不想面了,给了个手写题目(忘了,但应该是easy难度的leetcode题目)+反问结束。

后续 一二志愿全挂,不捞。

百度一面挂

1.给一个发送请求函数,用react封装一个暴露 isLoading(是否正在加载),refreshRequest(重发请求),data(请求结果),Request(发送请求),refreshTimes(重发次数),isSuccess(请求是否成功)的钩子。(马马虎虎写出来了,后面提示要加useCallback缓存,但是也暴露了自己前端写的少,很不熟练的弱点,所以感觉应该是挂的原因之一)

2.闭包以及内存泄漏怎么处理?

3.现在有一个音乐播放器,点击播放音乐会新创建一个标签页播放音乐,但当已经有一首在播放时候,再点击播放音乐会再创建一个标签页播放新的音乐,但原来标签页的音乐要停止播放,用什么实现?

我:这个核心应该是实现标签页间的通信(但不知道怎么做?),猜着说用postMessage这种类似的手段实现。

面试官:用localStorage实现,它设置删除值能够有API监听到。

4.对AI使用的理解?

反问,后续毫无意外的挂了。

另一个百度约的面试一面挂,这位面试官的重心是深挖基础。(很多东西不记得了)

1.输入url过程。

2.渲染过程详细讲,主要是阻塞渲染这部分,又涉及到async和defer.

3.重绘重排 ,我提到读取例如offsetHeight,为了防止读取dirtyWord,会强制触发重排,我项目里轮播图的原生实现就用了这个特性实现无缝轮播动画。 面试官追问还读取哪些属性也会触发重排-->读取computedStyle是否触发-->答错了。

4.做一道蛮长的事件循环题目,给出输出顺序。

做的题和下面的有点像,但是比下面的简单,不涉及到resolve(Promise)的Promise透传导致的顺序变化。

我记得原题是掘金上看到过,关键词是:字节 事件循环题? 没找到。

5.作用域链,介绍后给了两个题说结果: Nunber instanceof Number(false) Object instanceof Object(true)

虽然答案对了,但是解释原理错了,面试官后续评价作用域链要加强。

6.js判断变量的方法

其他的忘记了,后续挂了。

京东,还在泡?(京东是学历够就不挂人,全入池子吗?)

京东前端实习面试貌似都比较随意?

1面半小时,介绍+项目+简单八股,印象深的是:几种图片格式的区别,首屏渲染加速的方式。

2面半小时,完全不知道二面为什么是hr面,因为此时还是求职早期,完全没准备过hr面的东西,乱答一通,感觉给人一种说话没逻辑,还处于学生思维的感觉,但是这个问的应该是常规hr问题,例如最大挑战,性格,缺点这些,深刻的是:如果我招你进来,你觉得我培养你最大的困难是什么? 我答的是我性格有点内向,可能一开始融入小组比较慢(确实这个答得有点傻逼)。

3面主管面,介绍自己,介绍项目,然后就问了点TCP UDP的区别和其他很简单的八股,因为2点约的面,感觉这位面试官很疲惫,感觉他都没听我说话,一问完,我开始回答,他立刻仰头靠着小眯一下,真的感觉他超级疲惫。

武汉作业帮 (hr面后说没过,转部门加面,后续流程结束)

这个应该是面试体验让我很无语的,一二面+hr面后,hr面还说我很符合他们的招聘需求(想回武汉,追求转正),结果第二天通知部门没过,换部门加面。

一面:

1.变量提升输出题,考点是变量和函数提升的优先级,这篇博文蛮详细的,https://juejin.cn/post/6933377315573497864

2.事件委托,事件冒泡,事件捕获。

3.你Es6用的多的东西。

4.promise,all,race,any这些。

5.promise.all的返回内容,如果想错误的结果也全部接收怎么办? 我问她是在promise.all上改还是其他方法?她说都可以。

我回答promise.allSettled就可以,那你就手写实现allSettled吧。(成功手写)

6.介绍事件循环,这个可能我没有按照传统的宏任务,微任务答的,我是说任务队列有优先级

微任务- 交互任务-渲染前任务(requestAnimation,IntersectionApi)-延时任务(SetTimeout,interval)--网络请求任务--空闲回调

这个回答可能给了面试官一点惊喜

7.居中方式

8.介绍flex布局,这个好多都问了,我还扯到了grid布局的一些属性,说我grid有时用的多点。

9.会vue吗?(作业帮技术栈是vue) 不会。

10.反问评价,基础不错。

二面

1.项目里虚拟列表怎么实现的?

2.react钩子使用的规则---我答成具体某个钩子使用的规则了----面试官提示不能在逻辑判断中使用,例如if

3.useMemo和useCallback,介绍后答了因为react使用Object.is进行浅比较,如果对象或者函数传参或作为依赖,需要用这两个包裹,才能实现避免重复渲染的效果。

4.react.Memo ---提到除了用上面的缓存钩子包裹,也可以直接在第二个参数写比较函数,实现你想要的深层比较功能。

5.react闭包陷阱,为什么会导致这个。

6.分别用promise 和 async await两种方式实现串行请求。

7.面向对象的理解,多态。

8.学过数据结构,操作系统这些没? 没学过。

9.url输入的过程。

10.渲染过程,重点哪里会堵塞--->async和defer

11.DNS用的TCP还是UDP-->劫持怎么办?-->不会,但是我猜可以用http3

12.bfc

反问我的技术栈是react,不会vue会不会造成蛮大的扣分,面试官答框架都是通的,面试也是有成本的,如果考虑会不会vue,那么也不会放你到二面。第二天约hr面。

hr面

非常轻松愉快,问了评价,还说我很符合他们部门的招聘画像,家在武汉,想回武汉发展,有转正意愿,学历也不错。

结果第二天接到作业帮电话,(当时内心想着一定是通过电话,想着总算有个offer了),结果通知该部门没过,转部门加面,心又跌倒谷底

加面

感觉是KPI面,问的也基本不是前端的东西,中途好几次去关门,关窗,出去一趟这些事情。我回答问题,他是完全没听,我答到一半卡住了2秒,刚想到准备接着回答,他来句好的,那下一个问题。后续反问,说他想考察的是与后端交界这部分的内容,但我虽然确实这方面欠缺,但我也想办法努力回答,但是对方是完全没听。

后面一直催问结果,一周后,前天打电话说不推进了,问什么原因没过,说第一个部门过了,但是怕前面的人毁约所以多放几个进来排序,第二个部门没过。 我是觉得虽然你可以排序,但你没必要放那么多人进hr面排序,二轮技术面排序不好吗?搞得我白高兴一场,而且hr还给我很强烈的我能过的感觉

美团第一次二面挂,第二次二面后泡了很久通过(参考前面的博客,虽然写的很烂)

小厂面试感受

因为美团是3天前才邮件,上一周处于一种没offer又没面试的状态,所以boss上海投,约了3个小厂面。感觉boss上还是vue居多,所以大部分也不会推进面试,有面试也是非常简单,甚至有一家说我赌你的学习能力能胜任工作,这部分应该还是学历起了作用。然后给我印象深刻的是富卫保险(外包)的面试,体验不错,感觉他们组内氛围很好,但是后续接到美团offer还是拒绝了。

另外一点就是感觉武汉和广州这边的职位数量还是有蛮大差距的,本来想着大厂去不了,小厂找个实习那干脆回武汉得了,还能顺便回家,结果boss上武汉前端实习都没几个,而且要求立刻到岗+线下面试,给钱少的夸张(80-130),还是武汉大学生太多了

全部评论
另外感觉今年后端应该确实是比前端难的,我和我舍友真的是速成前端最后都能OC,相反身边学后端的同学(还是双9,有ACM经历),面试都约的少,一面都答出来+手撕过了,现在还没着落,如果我走的后端,估计直接洗洗睡了(这点要感谢我舍友研二推荐我转前端#暑期前端实习#
点赞 回复 分享
发布于 昨天 16:33 广东

相关推荐

评论
2
2
分享

创作者周榜

更多
牛客网
牛客企业服务