网站首页 > 教程分享 正文
有幸得到猎头推荐参加字节跳动工程效率部的前端面试,为此准备了一周的时间,面试前内心十分忐忑,略微有些小紧张。
由于是下午面试,所以早早起床,翻出许多年前购买的,几近翻烂的《JavaScript设计模式》,从前到后粗略的翻看了下。之后起床刷牙、洗澡、整理下,躺在床上开始闭目养神~
由于是下午两点面试,所以中午12点半从家里出门,担心天气太热,为防止面试时身上有汗水和味道,所以,我决定,打车去面试,这也是我唯一一次打车去面试,不心疼。
结果低估了司机师傅的开车速度,竟然不到20分钟就给我送到了地方,没办法,在字节大楼外转了一圈,13:30入场,前台妹子随机抽了一份面试题给我,开始答题。
两张面试题,给了十多张A4纸给我答题,嗯,有钱,答题笔柔软,有弹性、出水均匀流畅,高级货!
先笔试
- 利用html css 编写样式,div垂直body居中、div内的text垂直居中,div高度等于body宽度的一半(第一题就难住我了,充分暴露了我css功底极差的问题,跪,但终究还是写了点)
- 第二题判断if([] == false) {} , if({} == false) {} , if([]) {} 不会,跪 (最后一面小哥给我讲下,人不错,good)
- 利用宏任务,微任务的知识点判断程序输出(easy ok)
- bind函数实现(ok)
- trottle函数实现(ok, 可以用任务队列也可以只维护一个function, 我用的队列)
- 给定一个不含重复数字的数组arr,指定个数n,目标和sum,判断是否含有由n个不同数字相加得到sum的情况(ok, leetcode 40 变种, 数字不得重复使用)
以上大概用了三十分钟,之后开始一面
一面
来的是个小哥,年纪比较小,无形中给我一种挫败感,看题速度极快,之后继续出题:
- 二叉树路径总和(leetcode 112)
- 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做的不错。
面试失败肯定是能力不足,这点没有任何疑问。
猜你喜欢
- 2025-04-09 CSS3 - 新单位vw、vh、vmin、vmax使用详解(附样例)
- 2025-04-09 用 Bootstrap4 制作响应式网页二(导航菜单)
- 2025-04-09 VSCode中使用Markdown插入图片,如何设置图片的尺寸及显示位置
- 2025-04-09 实战经验分享:怎么在自己的网站里面调用第三方网站的页面内容
- 2025-04-09 图解 CSS Grid 布局(css grid布局和flex布局)
- 2025-04-09 Web前端干货!30道Web前端面试题精选,你会几个?
- 2025-04-09 前端开发中常见避坑问题(前端开发过程中的常见问题)
- 2025-04-09 第二章:基础概念精讲 - 第五节 - Tailwind CSS Flex 和 Grid 布局实战
- 2025-04-09 如何使用CSS实现旋转地球动画效果
- 2025-04-09 CSS:前端必会的flex布局,我把布局代码全部展示出来了
你 发表评论:
欢迎- 最近发表
-
- 有了这份900多页的Android面试指南,你离大厂Offer还远吗?
- K2 Blackpearl 流程平台总体功能介绍:常规流程功能
- 零基础安卓开发起步(一)(安卓开发入门视频)
- 教程:让你的安卓像Windows一样实现程序窗口化运行
- Android事件总线还能怎么玩?(事件总线有什么好处)
- Android 面试被问“谈谈架构”,到底要怎样回答才好?
- Android开发工具Parcel和Serialize
- Android 中Notification的运用(notification widget安卓)
- Android退出所有Activity最优雅的方式
- MT管理器-简单实战-去除启动页(mt管理器怎么去除软件弹窗)
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)