查看: 2774|回复: 18
收起左侧

【地里最全前端面试题型总结】

    |只看干货
本楼: 👍   100% (17)
 
 
0% (0)   👎
全局: 👍   97% (284)
 
 
2% (7)    👎

2022(4-6月) FrontEndEng 硕士 全职@ - 猎头 - 技术电面 Onsite  | 😃 Positive 😐 AverageOther | 在职跳槽

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
有点标题党了,希望争做地里最全的前端面试题型总结吧!

前端时间加了一个北美前端群,发现里面很多小伙伴对前端职位面什么内容感到非常困惑。有些人觉得前端面试内容太杂,根本不知道如何准备;有些人觉得前端主要准备BFE就可以了;有些人想问是不是前端就不用准备LC了;有些人不清楚前端系统设计到底考什么内容。刚好最近半年,LZ面了大约30家公司的前端Sr职位。面试的公司涵盖各大厂,最近几年刚上市的明星中厂,一些独角兽公司以及一两家LZ本地的上市中厂。拿到了其中一半左右公司的offer。我就以这30家出头的公司作为一个样本,给大家分类罗列一下各种前端面试的题型,以及各题型出现的频率。一方面填补一下地里前端资源贫瘠的空缺;一方面为自己半年来的面试做一个总结,好让自己一下次的面试能快速回忆起一些细节。

Notes:
  • 各题型出现频率分子父母以公司数量作为单位,不以题目数量作为单位。(同一个公司出现多次同一题型按单次计算频率)
  • LZ不少公司没进到VO,所以分子的数量肯定会相对偏少,看个大概就行。
  • LZ这次基本没有面不太知名的小厂和初创,所以肯定不可能涵盖所有的题型。
  • 这个帖子我主要想探讨北美前端面试的题型,不想泄露具体某家公司的面试内容以及具体面了哪家,所以也不要再评论区问我,请见谅。
  • 欢迎补充我没有遇到过的题型,也希望互相学习。
  • 敲这么多字很累,觉得有收获不要吝惜给米。


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

前端问题:
Build a mini app (出现频率45%)
  • 这类型的题是我遇到的前端题型里最常见的,很多公司店面和VO都会考,也是我最喜欢和最擅长的题型。LZ面试里遇过的写mini app的题几乎没有失手过。因为比较考实操,和平时工作里的内容很类似。Senior前端选手以及React写的熟练的应该都会很喜欢这种题。
  • 通常mini app的内容和公司的业务相关,可能是公司主打产品里的一小块。当然也会出一些常见的题比如调用Search API显示dropdown or list of items,Image carousel相关的题,todo list,etc。
  • 总结这类题的共性是fetch一个endpoint拿数据,进行一些data parsing之后render成UI,加一些User Interaction。其中八成的公司会默认用React写,也有部分公司必须用Vanilla JS。有些题侧重考察不同React hooks的使用,有些题侧重考察promise/async/await和data parsing,有些主要考察存放数据的data structure。


Implement a widget (出现频率12%)
  • 这类型的题其实和mini app很类似,我单独拿出来主要是因为widget很重要的部分是考察API的设计。API的易用性和可扩展性、Widget的复用性、component的拆分都是考察的一部分。
  • 准备这类型题主要就是写几个常见的Widget,例如Image Carousel, Tab Component, Accordion, Dropdown, Star Rating, Tri-state Checkbox。用React和Vanilla JS各写一遍。这个准备的过程其实也相当于准备了mini app的题了。


Promise / Callback Challenges (出现频率18%)
  • 这类题我属于我面试时候被绊住次数最多的题,也是我认为前端里面相对最难的题型。但是其实透彻了解了promise/async/await以后,这类题也是万变不离其宗的。常见的类型如等到promise resolve以后再fire下一次request,promise在for loop里的应用,把callback转化成promise,callback chain等等。
  • 我没有把Implement a promise归入这类题型,但是能熟练Implement promise对于透彻理解promise的原理、用法和变化,和对解决这类题很有帮助。


Data Parsing / Data Aggregation (出现频率24%)
  • 这类题通常是对于一个array 或者object类型的raw data进行一些处理,按照需求输出结果。这个raw data的来源可以是mock data也可以是从API endpoint获得。
  • 这属于前端面试里最很常见也最简单的一类题,如果是mock data的话其实任何语言都可以写,Fullstack/MLE/DS也会考这种题。前端工程师少的公司特别容易出现这类型。这种题除非数据类型特别复杂,不然通常是店面里的一道热身题或者第一问。


Implement Native / Lib Methods (出现频率12%)
  • 手动实现一个原生的JS/DOM/Browser function或者某些library functions
  • 这类型题某几家大厂的前端非常喜欢考,但是出了大厂其实考的很少。这也造成了很多人的错觉说刷BFE就是前端面试主要的准备方式。其实可以理解,大厂喜欢自己造轮子,小厂喜欢用轮子,所以决定了面试风格的截然不同。
  • 如果不面大厂,着重准备下Implement Promise,memo,debounce,throttle和curry就可以了。其中Implement Promise我被考了两回,考我还都是不太有名的公司。


UI/JS Debug (出现频率9%)
  • 这类题通常是download一个project或者在在线IDE里打开一个project,debug其中的问题。通常是6-7个问题,有些面试是带UI的debug,有些面试是纯JS的debug。有些面试会把问题写在readme里,有些面试问题需要自己去找。纯JS的问题通常配备unit tests来检测每一问是否完成。UI debug可以打开devtool进行debug。
  • 此类题考验题目的完成度,也考验如何investigate和debug的能力,交流沟通能力也是比较重要的。我遇到过最后一问没解决被降级的情况。
  • 因为有6-7道题,有些公司它设置的题目难度不是从易到难的,所以大致浏览一下所有题目,从简单的开始做会很有帮助。


Static UI (出现频率12%)
  • 通过HTML/CSS实现一个UI样式,有些数据驱动的UI会用JS DOM Manipulation来添加Nodes。
  • 这种题比较基础,考察的能力范围有限,通常不会单独出现,会作为一个时间充裕情况下的followup。比较常见的是实现一个居中的Modal,这里作为Senior,你得知道多种居中的方式。


JS基础/语法糖 (出现频率6%)
  • 这类题通常查考一些this,prototype, __proto__, bind/call/apply, closure, scope的用法和nuances。这类题通常Senior面试很少碰到,NG和Karat会考。大多是给一段代码,问输出结果,以及如何改可以输出想要的结果。
  • 这里分享一个JavaScript Questions链接,里面罗列了非常多不同的这类题目。


Code Review (出现频率9%)
  • 出现的不多,和平时code review差不多,通常不是考察debug逻辑错误,而是以怎样增加的代码的readability和maintainability为出发点进行review。像是better variable/method naming,拆分functions,减少nested if branches,etc。


前端八股文/Domain Knowledge (出现频率18%)
  • 所谓八股文,泛指理论知识,原理概念,可谓食之无味,弃之可惜。
  • 八股文通常海外的国内公司和Quant公司考的比较多,也有大厂会在前端轮次穿插一些前端Domain Knowledge的宏观问题。我这里把它们并为一类了。
  • 国内公司和Quant公司侧重点在于你是不是透彻理解某些技术中的原理和细节。比如:React PureComponent VS Component,URL解析过程。
  • 海外公司如果面这类Domain Knowledge的问题通常侧重考查相关领域的经验。 比如:How to deal with XSS,How to investigate a performance issue, Describe variou
    您好!
    本帖隐藏的内容需要积分高于 188 才可浏览
    您当前积分为 0。
    使用VIP即刻解锁阅读权限或查看其他获取积分的方式
    游客,您好!
    本帖隐藏的内容需要积分高于 188 才可浏览
    您当前积分为 0。
    VIP即刻解锁阅读权限查看其他获取积分的方式
    题目有Google Calendar, Slack, Google Doc, Search App。



产品/项目设计
这类设计题在前端面试中比较少遇到,每家的风格都不一样,大致遇到过以下这几类,没有明显的边界,很多考查的能力点是有交错的。面试中和面试官的沟通交流非常重要。
  • Product Design: 主要考察cross-functional的协作能力以及UX Sense,对产品功能的理解以及想象力。面我的是一个Visual Designer。
  • Product/Technical Taste: 主要考察是对于产品的品味,功能的改进,技术的选择。
  • Project Life Cycle: 作为一个Project Lead,拿到一个项目的初始原型,理解用例,沟通了解需求,如何拆分项目,计划和分配任务,proritize任务,以及预判在执行和验证项目时需要注意的点。



Behavior Questions
这个其实前后端没啥区别了,但是BQ也是决定level很关键的一轮。随便列举一些常见的题,以及面试官想获取的信息:
  • 讲一个Recent Project。
    a. Cross-functional Impact, 和多少组合作,lead了多少人
    b. 是否Mentor别人
    c. 有没有什么complex obstacle
    d. 从商业和工程不同的角度分析问题
    e. Balance between long-term and short-term goals
    f. Any KPI and metrics体现项目的成功性
  • What are the differences between junior and senior engineers? - 对于Senior职责的理解
  • Tell me a time when you fall behind the schedule - 项目管理的能力
  • Tell me a time you disagree with peers. - 倾听力,同理心,沟通合作的能力
  • How to handle conflict management? - 应对突发状况的能力
  • Tell me a time when you receive some negative feedback or criticism. - 情绪管理、学习改进的能力


评分

参与人数 27大米 +54 收起 理由
y75475 + 1 感谢楼主分享。
cxghy2011 + 2 谢谢分享!
aijjla0po + 1 赞一个!
shu32 + 1 赞一个
yue2007 + 1 很有用的信息!
等风Ethan + 1 赞一个
fafabear + 1 很有用的信息!
burningbell + 1 给你点个赞!

查看全部评分


上一篇:G vo
下一篇:Opendoor店面挂经

本帖被以下淘专辑推荐:

 楼主| hys928 2022-7-6 11:13:21 来自APP | 显示全部楼层 | 🔍试试Job多多
本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   97% (284)
 
 
2% (7)    👎
xchen10 发表于 2022-07-05 19:52:10
请问让写mini app这些是社招还是校招?谢谢
社招。校招基本不会考这种题。
回复

使用道具 举报

本楼: 👍   100% (1)
 
 
0% (0)   👎
全局: 👍   98% (157)
 
 
1% (3)    👎
总结的挺全面的了。。不过看完真是觉得我还是面后端算了。。。
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   74% (173)
 
 
25% (60)    👎
看来是你没去之前也不知道那家公司会面算法还是知识类的题目,必须准备面试的时候算法跟知识经验类的都的准备一遍
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   95% (108)
 
 
4% (5)    👎
很有用的帖子,感谢楼主!
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   98% (157)
 
 
1% (3)    👎
好奇想问一下楼主最后去哪了。。
回复

使用道具 举报

地里的匿名用户
匿名用户-937  2022-6-30 12:49:13 来自APP
本楼: 👍   0% (0)
 
 
0% (0)   👎
哪位大爷帮发到回复里🙏。为什么要到100才能看?天天打卡+发帖也才30🥲
回复

使用道具 举报

 楼主| hys928 2022-6-30 21:31:39 来自APP | 显示全部楼层 | 🔍试试Job多多
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (284)
 
 
2% (7)    👎
wendyfangROBJ 发表于 2022-06-29 21:42:36
好奇想问一下楼主最后去哪了。。
即将入职Abnb
回复

使用道具 举报

 楼主| hys928 2022-6-30 21:32:17 来自APP | 显示全部楼层 | 🔍试试Job多多
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (284)
 
 
2% (7)    👎
匿名用户 发表于 2022-06-29 21:49:13
哪位大爷帮发到回复里。为什么要到100才能看?天天打卡+发帖也才30
我没设分,可能是太长了😹
回复

使用道具 举报

 楼主| hys928 2022-6-30 21:36:18 来自APP | 显示全部楼层 | 🔍试试Job多多
本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   97% (284)
 
 
2% (7)    👎
497716933 发表于 2022-06-30 01:03:16
看来是你没去之前也不知道那家公司会面算法还是知识类的题目,必须准备面试的时候算法跟知识经验类的都的准备一遍
通常面理论知识类的公司爱考算法。有一部分公司是纯考前端实操题。没面之前可以问HR,如果HR靠谱是会告诉你题型的。
回复

使用道具 举报

本楼: 👍   0% (0)
 
 
0% (0)   👎
全局: 👍   86% (86)
 
 
14% (14)    👎

Abnb Sr 400k+啊,这起飞了啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表