老码农的字节跳动前端面试总结

yumo6662个月前 (04-26)技术文章13

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

由于是下午面试,所以早早起床,翻出许多年前购买的,几近翻烂的《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做的不错。

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



相关文章

用CSS实现居中的七种方法

微信ID:WEB_wysj(点击关注) ◎ ◎ ◎ ◎ ◎◎◎◎◎一┳═┻︻▄(页底留言开放,欢迎来吐槽)● ● ●在网页上使 HTML 元素居中看似一件很简单的事情. 至少在某些情况下是这样的,但是...

css之div内容居中

div中的内容居中显示,包括水平和垂直2个方向。<html> <head> <style type="text/css">...

CSS 元素分类与水平居中

元素分类在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。常用的内联元素有:<a>...

用CSS 实现元素垂直居中,有哪些好的方案?

水平居中方案:水平居中设置1、行内元素设置 text-align:center2、定宽块状元素设置 左右 margin 值为 auto3、不定宽块状元素a:在元素外加入 table 标签(完整的,包括...

html实现原生table并设置表格边框的两种方式

在 HTML 中实现原生表格并设置表格边框的详尽教程 在 HTML 中,表格是展示结构化数据的重要工具。为了使表格更加清晰、美观,设置表格边框是常见的需求。本文将深入探讨 两种原生方式 来实现表格边框...

实战经验分享:怎么在自己的网站里面调用第三方网站的页面内容

今日,站长在线(olzz.com)的首页右侧边栏里面,有一个是【mip验证】的工具入口,其实我在其他网站也放了这个入口,但是不同的是,以前的页面入口是直接链接到百度mip官方的页面检测地址的,而今天,...