前端笔试能查吗_老码农的字节跳动前端面试总结

前端笔试能查吗_老码农的字节跳动前端面试总结_第1张图片

有幸得到猎头推荐参加字节跳动工程效率部的前端面试,为此准备了一周的时间,面试前内心十分忐忑,略微有些小紧张。

由于是下午面试,所以早早起床,翻出许多年前购买的,几近翻烂的《JavaScript设计模式》,从前到后粗略的翻看了下。之后起床刷牙、洗澡、整理下,躺在床上开始闭目养神~

由于是下午两点面试,所以中午12点半从家里出门,担心天气太热,为防止面试时身上有汗水和味道,所以,我决定,打车去面试,这也是我唯一一次打车去面试,不心疼。

结果低估了司机师傅的开车速度,竟然不到20分钟就给我送到了地方,没办法,在字节大楼外转了一圈,13:30入场,前台妹子随机抽了一份面试题给我,开始答题。

两张面试题,给了十多张A4纸给我答题,嗯,有钱,答题笔柔软,有弹性、出水均匀流畅,高级货!

先笔试

  1. 利用html css 编写样式,div垂直body居中、div内的text垂直居中,div高度等于body宽度的一半(第一题就难住我了,充分暴露了我css功底极差的问题,跪,但终究还是写了点)
  2. 第二题判断if([] == false) {} , if({} == false) {} , if([]) {} 不会,跪 (最后一面小哥给我讲下,人不错,good)
  3. 利用宏任务,微任务的知识点判断程序输出(easy ok)
  4. bind函数实现(ok)
  5. trottle函数实现(ok, 可以用任务队列也可以只维护一个function, 我用的队列)
  6. 给定一个不含重复数字的数组arr,指定个数n,目标和sum,判断是否含有由n个不同数字相加得到sum的情况(ok, leetcode 40 变种, 数字不得重复使用)

以上大概用了三十分钟,之后开始一面

一面

来的是个小哥,年纪比较小,无形中给我一种挫败感,看题速度极快,之后继续出题:

  1. 二叉树路径总和(leetcode 112)
  2. function request(urls, maxNumber, callback) 要求编写函数实现,根据urls数组内的url地址进行并发网络请求,最大并发数maxNumber,当所有请求完毕后调用callback函数(已知请求网络的方法可以使用fetch api)

写代码不怕,最短时间给出程序,相互讨论下,至此一面结束,赞

二面

问:介绍下项目前端架构、项目难点

答:简单介绍下,面试官很感兴趣,讲了大概有三十分钟

问:react如何进行性能优化

答:function component + redux、immutable、pure component , shouldComponentUpdate ...

问:https握手机制

答:不太懂

问:CDN原理

答:cache、负载均衡、资源同步

问:CDN获取最近节点资源的算法是什么

答:不懂

问:requestAnimationFrame 和setTimeout 、setInterval的关系

答:都可以用作动画 requestAnimationFrame还可以埋点监测应用卡顿

问:react fiber 了解多少

答:Vritual DOM & FiberNode 利用调度器分批次在不同的tick内渲染 (答的不好)

问:你以前做过性能优化方面的开发,介绍下

答:通过探针抓取performance数据,判断资源请求、白屏、首屏时间、页面卡顿,以及编写代码抓取页面错误、慢加载、代理用户事件进行行为分析等等。

问:sum(100, 200)(300)(...)...(...)() curring化实现

答:写代码,简单

等等还有很多,知识点非常全面,充分暴露了我这个老码农只会搬砖,网络知识一窍不通、框架深度不够的弱点。

二面结束已经5点,面试官说回头HR会有安排(100%没戏了)

整体看,笔试题偏向基础,不难,只要工作中活学活用lodash,通过笔试没问题

但非笔试部分比较难,考察面试者的表达能力,能否通过简单的描述让面试官了解你的工作,以及工作中遇到的问题等等。

码农不仅要会写代码,在框架、网络、算法上也应该深入学习。

总体收获颇丰,虽然面试第二天就收到了拒信,但并不意外,这点字节HR做的不错。

面试失败肯定是能力不足,这点没有任何疑问。

今后仍要继续努力!

你可能感兴趣的:(前端笔试能查吗)