作者zeroshine (rain)
看板Soft_Job
标题[心得] 前端面试心得
时间Sat Sep 30 22:13:14 2017
-背景
约近两年资历前端,技能大多点在 react 相关生态系的前端开发,有待过中型规模的外
商跟小型新创,因为在上一份工作内容跟当初谈的 JD 与自己的生涯规划有相当的落差,
於是决定离开找下一个工作机会,以下面试经验不一定是近期的面试,有些是半年前的面
试经验,顺序跟面试时间没有绝对关系。
-面试公司
Codementor
Nogle
17
Carousell
HonestBee
Linker Network
港商慧科
104
Appier
Oath (Yahoo)
卓越科技
合众科技
京纬数据(一动数据)
Hahow
雷亚
另外有两间公司写完线上测验就没有後续的公司
高创动讯 考 HackerRank
intowow 考 Codility
-薪资区间
有拿到的 offer 年薪整体来说包含 options 分红大约落在 1.1 M ~ 1.3 M
===
Codementor
-面试流程:
Senior engineer & HR skype > PM skype > onsite technical team Interview
--
-心得:
面试会有两次的 skype 跟 onsite,特别帮这家公司推荐给大家,如果使用者有 UX 开发
者有 DX ,那面试的 IX 这间公司真的做的蛮好的,倒不是流程有多麽的好,而是面试的
过程中公司的员工相当的友善跟尊重,气氛相当的轻松像朋友在聊技术但又不显得随便,
着重於讨论的过程而并非答案的对错,我觉得有趣的地方是相当尊重面试者的回馈,问完
一些的问题的时候会问一下面试者有没有什麽问题想问,会让人瞬间有面试好像要瞬间结
束的感觉(但其实没有),最後 onsite Interview 所有(?) 开发人员会一起到会议室跟你
面谈跟自我介绍跟问问题,我觉得这表示相当尊重每一个同事对於未来有机会共事的面试
者的观感。对了面试有送 codementor 贴纸喔
--
-面试问题:
React flux 跟 MVC 的架构有什麽样的差别 ?
什麽是 closure ?
讲解 redux 的概念跟整个系统,解决了什麽样的问题,
redux 在 react 系统上扮演什麽样的角色?
如果你对设计师的设计有不同的想法你会怎麽解决?
jsbin 的上机考,主要 implement 一些小 function 做资料结构的转换通过 mocha 测试
系统设计讨论,如何做出一个聊天系统,但主要偏後端架构
--
-结果:
Offer Get
===
Nogle
-面试流程:
onsite 上机考 > RD 聊天技术讨论 > Tech Lead 面谈 > HR 面谈
--
-心得:
head hunter 推荐,这是今年初面试的,面试的单位应该是博奕这一块,公司下面有许多
的产品线还有做智慧型试衣,公司非常的气派,面试主要为上机考,有想办法争取能不能
用自己的笔电跟使用自己的编辑器,不过最後没有争取到,因为主管表示 API server 架
在 local 端,上机考的时间个人觉得有点赶。
--
-面试问题:
1.5 hour 用 react 完成一个 polling 捞 api 资料的有排序功能的类似购物车系统
--
-结果:
感觉应该是技术端都过了
不过因为薪水卡年资谈不上去,所以就没有下文了。
===
17
-面试流程:
onsite 前端主管口头面试
--
-心得:
也是 head hunter 推荐,今年初面试的,现在流程好像有点换了,那时候觉得位置还蛮
拥挤的,不晓得现在有没有改善一些,前端主管是之前面试 20 几间公司在 ptt 发心得
文的大大,面试的方式是想要从类似聊天的方式去延伸去问问题的深度,但这种方式我觉
得有时候我会不知道要从哪个方面来开话题,主管个人风格相当的强烈,让人感觉是一个
有底线坚持且不容被侵犯的人,任何方面不管是作品面试文徵才文都有相当的自我要求跟
坚持,有问必答,不管是在这边的工作心得福利专案状况都会跟你详细解释,有强调无声
卡可以寄信给他,他会去跟 HR 反应。
--
-面试问题:
closure 是什麽?
this 如何决定的 ?
prototype chain 的概念。
可以讲出多少种 css 垂直置中的方法?
fetch 跟动画事件混合的时候如何用 Promise 做流程上的控制?
如何优化超长 list 的渲染?
children event stoppropagation 造成 parent 的 event 不会被触发的解法?
--
-结果:
如果根据 Head Hunter 的说法,好像是在人格特质上被刷掉的,因为今年初的时候因为
前前公司的关系自己状况不太好,所以面试时形容自己的缺点是有时候做事情会对人不对
事,加上面试的时候比较紧张容易抢话,有时会大声的压过对方,不过也可能是技术不行
被刷掉也有可能,总之没有拿到 offer。
===
Carousell 旋转拍卖
-面试流程:
Technical Recruiter > ? > CEO面试
--
-心得:
英文面试
一些面试者的背景了解,跟 carousel 的介绍
主要问了简单的 js 题目 == 跟 === 的差别,
写一个function input 是 0 return 1 input 是 1 return 0
解释 closure
如果你的想法跟设计师有冲突怎麽办
--
-结果:
Thank you letter
Technical Recruiter 面完後两天後拿到 Thank you letter ,原因不明。
===
HonestBee
-面试流程:
HR phone Interview > onsite Engineer Interview > CEO Interview
--
-心得:
HR 电话面试有小小考了一下英文,但後来都用中文对谈,engineer Interview 来面试的
资深工程师是社群的大大,主要是写 code 问你输出,有趣的是面试官还一边面一边在你
的 github side project 上开 issue XD
--
-面试问题:
curry funcition,
Promise 跟 setTimeout 的混合执行顺序问题,
decorator 等价於什麽的写法,
redux 的用法还有实务上 reducer 的规划跟设计,
react 效能优化的问题
--
-结果:
Thank you letter
没有面到 CEO 就拿到感谢信,私底下问面试官得到的回应是还主管比较希望是收有足够经
验的 senior 工程师,另外面试中对 react redux 的熟悉度,以及面试上的反应都会有
影响。
===
Linker Network
-面试流程:
电话面试 > ?
--
-心得:
这间是靠朋友内推,主要是做资料中心的资料分析服务,有很多 go 领域的高手和知名社
群人 c9s 在里面,电话面试主要询问了 react event 系统跟 DOM 原生系统有什麽差别
,还有你对接案公司的想法。我滔滔不绝的说完对我其实没有太大的差别,不过硬要说比
较喜欢有主要有产品的公司胜过接案的公司以後,好像就 GG 了。
--
-结果:
无声卡
===
港商慧科
-面试流程:
香港 PM Engineer 电话面试 > 台湾主管面试 > HR > Reference check
--
-心得:
主要是做中文舆情分析跟中文资料库的相关服务,在台湾是帮忙他们的研发部门开发数据
相关的产品,第一关是来自香港的电话面试,PM 跟他们一个前端工程师一起面,PM 相当
的友善,第二关是 onsite 跟台湾的主管面试跟再一个电话面试,唯一诟病的一点是公司
没有提供 mac 只有提供 windows 桌电,最後是谈 package 最後做 reference check,
--
-面试问题:
主要针对履历上问问题
--
-结果:
Thank you letter
本来感觉很希望最後没有拿到 offer,HR 来信说明技术跟 reference check 没有太大的
问题,但是最後评估文化可能比较不适合所以就跟我说声抱歉了,据说是考量我的考虑时
间有点长最後没办法等我。
===
104人力银行
-面试流程:
codility > 松江南京主管跟部门副总面试 > 新店总部 CTO 面试
--
-心得:
其实 104 是 honestbee 面试官推荐的,说现在 CTO 是 kkbox 来的首席工程师(?)且
在技术圈知名的 gslin 可以去面面看,面试的时候 CTO 感觉相当的忙碌有很多的会
要开,面试中有询问 CTO 想在 104 做出什麽样的改变,他希望可以大力整顿 104 的内
部系统,并提升各种人工智慧的在人才市场的应用。
产品面是新产品经理人社群 be a giver 主要是想做经理人的社群,希望可以填补很有人
生经验的高阶主管经理人跟下一个世代的鸿沟。董事长现在想要做比较是社会企业的产品
,希望可以幼有所长壮有所用老有所终。其实还蛮有理想性的。在总公司还有看到一些董
事长的超人装卡通壁饰,觉得有点有趣,大概也展现了这公司的文化如何。
104 虽然大家都有在用介面设计有点复古,但是他们其实是一间非常赚钱的上市公司,听
说去年 eps 有 12块,而且这个部门好像是唯一不在新店的部门,在松江南京站跟
headhunter 的部门在一起,也会配 MBPR 给你用。基本的假期福利都还算 ok ,劳基法
7 天加上新人假 3 天另外 1 天生日假,年薪 14 个月 + 分红约 1 个月。上班还是要
像传统公司一样要在规定时间打卡,如果弹性调整上班时间是需要请主管写签程。
--
-面试问题:
考完几题还算简单的 codility 後,去跟主管面跟部门副总面谈主管跟副总感觉人都还蛮
好的,最後跟 CTO 面试,面试的题目 fibonacci 数列,我先写一个递回的版本,CTO 问
这个版本的复杂度跟在问能不能更快,我就再写一个回圈的版本 O(n),CTO 问能不能再
更快,我知道有公式解但是我已经忘记怎麽推导了,CTO 就用高中矩阵乘法逐步推给我看
,最後公式解 O(log N),这边我就跪了QQ,最後稍微的问了对 js 的新标准语法的理解
,异步的控制的演进跟比较就结束了。
--
-结果:
Offer get
令人惊讶的是薪资加上分红非常的有竞争力,完全不输博奕或者现在知名拿到大笔资金的
新创公司
===
卓越
-面试流程:
onsite 主管面试
--
-心得:
内湖博奕
主要是做中国的彩票系统,主管是个蛮有趣的人,除了聊技术也聊一些人生规划譬如结婚
生子之类的。想要导入 react redux docker 等技术,需要帮忙带新人,但是公司好像有
客服的部门这点让我挺犹疑的,最後打电话来问意愿我在面试其他公司没办法接电话就没
了下文,所以如果主管看到这篇文希望知道我没有故意要不接你电话QQ
--
-面试题目:
主要针对你的履历跟工作经验做提问
--
-结果:
Offer Get
===
合众科技
-面试流程:
onsite 主管面试
--
-心得:
信义区博奕
产品好像除了博奕以外还有其他的东西,但是有点神秘,面试是 onsite 然後用 skype
拨打电话给一个好像是中国口音的工程师还是主管,还有另一个工程师,
中国口音的工程师好像问比较多。
--
-面试问题:
主要针对你之前做过的工作内容跟履历询问
--
-结果:
Offer Get
===
京纬数据 一动数据
-面试流程:
Engineer Interview > CTO Interview
--
-面试问题跟心得:
我有点不大确定公司名字,以前的 vpon 研发团队,後来把广告 SaaS 服务切出来成立新
公司,拿到中国的资金准备前进中国市场。
第一关是 onsite engineer 面试,第一题把一沱像炒面的 code 给你重构,第二题然後写
出一个会打 api 的 autocomplete 的 react 小 project,不过不需要很完整,写个
component 跟设计架构给他们看就可以了,最後还有他们实务上会遇到的资料结构演算
法问题,感觉团队成员还算年轻,组成方式比较走 spotify 的 squad 路线,前端 react
加上 ror 後台,底层是用 scala 做的。
第二关
CTO 面试,我觉得 CTO 可能是我面过最有气场的一位,主要解释了现在数位广告投放的
市场到底是怎样的玩法跟他们在其中扮演的角色,实际的 demo 系统给我看,在介绍公司
的文化的时候有说他们有类似 google 的 peer bonus 系统,还有会有淘汰表现十分不好
倒数 5% 的员工的制度。
--
-结果:
无声卡
===
Appier 沛星
-面试流程:
engineer + CTO 面试 > PM+CEO+COO 面试
--
-心得:
公司在华南总部大楼,相当的气派豪华, Appier 前端团队的实力相当坚强,就我所知还
蛮多厉害的高手在里面的,用的 library 也都非常的新颖,也不会有太多大公司的绑手
绑脚,前端虽然分散在各个 team 但是彼此也是关系相当密切的,会常常讨论分享使用的
工具跟 library。另外最近 Appier 在新闻上实在太火红了,拿到 offer 的公司如果听
到你在面 Appier 或是你有 Appier 的 offer 都相当的紧张。
--
-面试问题:
一面
工程师面试的重点在比较各个 framework 跟 library 你如何挑选,原因是什麽?
还有针对你的履历问实务上的问题,
为什麽用 redux-saga 而不用 redux-thunk
你用 css module 可是别人想要覆写 css 怎麽处理,
Immutable js 跟 lodash 的差别,
怎麽用 react 做 seo,
jwt 如果你的 secrete key leak 怎麽处理,
有两题白板
一题是实作 promise concurrency control,
一题是实作 reduce function,
最後被问了 variable hoisting 是什麽?
然後就到 CTO 面试,感觉 CTO 是个 hackernews 爱好者,主要是在问你现在对前端的新
的语言跟架构你了解多少哪些你有没有在 follow 跟自我学习,一些 security 相关的
问题,还有你用怎样的概念跟原则挑 framework
二面
PM 会来主要介绍他们现在要做的产品,主要是广告投放内部系统的 team,然後询问你是
不是能接受新创公司的节奏跟文化,还请你给一些作品 demo,如果 schedule 太紧你怎
麽处理。
CEO + COO 主要就是问问题时间,我主要问 Appier 在募资的部份感觉相当的顺利,
这方面主要的优势是什麽?CEO 说因为他们公司的工程团队实力十分坚强,不管是在系统
上或者是人工智慧上都有相当好的人才,加上每个阶段的 milestone 都有达成甚至
over deliver,所以基本上是他们在慎选有战略意义上的投资人。另外有询问 COO 公司
的文化部分,这里因为 Appier 的 PR 做的很好所以其实网路上都查的到XD,所以我就不
细说了
--
-结果:
Offer Get
===
Oath Yahoo EC 电子商务部门
-面试流程:
电话面试 > onsite interview > 送美国总部审核
--
-心得:
Yahoo 现在主要分成 media 跟 EC 两个部门还有 global search team,EC 部门虽然拍
卖购物中心超级商城各自有团队但是前端部分会有一个主管负责统筹,现在主要除了专案
上的开发需求以外,也有在用 react redux 作整体前端系统上的都市更新,组件化加速
开发的速度跟可维护性,但是难免还是要碰 legacy 的 YUI 等等就是。福利应该是面试
所有公司里面最好的,像便利商店一样的免费零食饮料,免费早餐午餐,还有配公务手机
公务门号吃到饱,15天年假,将近两万的旅游补助。
Yahoo 从拿到面试开始一切顺利到可以上班大概会花 2 个月以上的时间,对於待业中的求
职者这样的冗长时程其实相当的不友善跟令人恼火。一开始请朋友从内部系统内推,等了
两周没下文,请朋友直接去敲主管约面试才拿到面试机会,一周电话面试下一周 onsite
面试又两周过去,美国送审大概还要花 3 ~ 4 周的时间才能确定有没有正式的 offer 跟
核薪,拿到 offer letter 大概还要花 2 ~ 3 周做背景调查健康检查才能正式上班。
听说之後会有流程上的调整
--
-面试问题:
电话面试
html doctype 的意义
span 跟 div 的差别
解释 closure 是什麽
问到 cookie 跟 localstorage 的差别,
http verb 你可以说出哪几种,
表单的处理,
post 跟 get 的差别,
cookie 的 domain 的问题,
还有 CSRF XSS SQLInjection 的攻击是什麽跟防范之道。
react lifecycle function有哪些
onsite 面试
相当的紮实面了一个下午,面到最後有点累,除了针对自己的 side project 作品介绍,
还有问了很多实作上的问题,
白板写用 native js 可以有 undo redo 的 input 栏位,
一个 div 有两个 input 点击 input 输出 input 的值,
还有用 react 写出一个搜寻框功能加上 css 排版
--
-结果:
Offer get
===
雷亚 Rayark
-面试流程:
engineer 面试 > CTO演算法面试
--
-心得:
公司的装潢相当的令人喜欢,很像是在高级咖啡厅,还有摆很多游戏机台还有 bar 台,
面谈的过程也是相当的舒服,主要会从履历上跟工作内容上面谈,还有介绍 redux,
目前的工作主要是在帮忙官网跟一些游戏需要的内部系统,是少数用 gcp 而不是 aws 的
公司,後端技术感觉十分的紮实能玩的东西很多。不过缺点是笔电需要跟 CTO 申请才有
机会有 mac,不然一般是配开发桌机,另外有实报实消的两万元旅游预算,跟五天旅游假
,工时相当弹性,基本上看月份总时数不会在意你几点上下班。
--
-面试问题:
主要从履历经验提问,介绍 react redux reactive programing 的概念。
--
-结果:
婉拒二面
主要是工作内容不是我现在想做的东西
===
Hahow
-面试流程:
codility > team lead 面试 > 小专案回家作业 > 创办人面试
--
-心得:
我觉得他们是少见新创还对技术上的稳紮稳打相当有坚持很踏实的团队,招人十分的谨慎
小心,而且面试的过程中可以感受到创办人是个还蛮诚恳的人相当照顾员工的,同时也是
少见已经损益两平的新创公司,写完 codility 之後,跟创办人 team lead 面试完,领
小专案回家写作业,因为其实有 offer 要决定而且刚好有安排旅游的时间,所以大概花
一两天去做,所以细腻度其实没有很好,不过这不是什麽藉口,最後小专案没有达到他们
的要求所以拿到感谢信,我会建议小专案的面试者要把维护度跟细腻度给做出来,共用的
东西能抽出来就抽出来,code 不该有的东西会影响可读性的东西也要清乾净。
--
-结果:
Thank you letter
================================
找工作的建议:
-履历:
我基本上会把惯用喜欢的前端技术用过的经验列出,然後如果你有写 medium 或者任
何 blog 的话,建议最好是把每篇文章的标题跟网址都放在履历表上,比起只列一个你自
己 blog 的 url,看起来气势差很多的。
--
-基础知识的准备:
不管你惯用的 framework 哪一派的,基本面试上 native js 的底子要有一定的基础,
native js 不只是学了潮潮的最新标准或者还在 draft stage ECMAScript 的语法就 OK
了,closure 和 variable hoist 都算是被问烂的题目,let const var 这三者的差别,
functional scope 的特性,this 是如何被决定的,prototype chain inheritance 跟
c++ 的静态语言的物件导向的差别,对於 framework 的掌握不只是会 life cycle
function 跟 api 而已,要理解他们是基於什麽样的概念去 model 前端问题。
CSS 虽然会比较少被问,但这仍然是一个前端工程师的基本功,不管是水平垂直置中置左
置右的对齐,box model,position 的用法,inline, inline-block, block, flexbox,
table, table-cell 这些 display 的差别 ,margin collapsing 的解法,id class 的
权重,清除浮动的方法。
DOM 最基本的 event 模型,capture bubbling phase 分别是指什麽,什麽是
event delegation
浏览器渲染相关知识跟优化过程,知道 browser 怎麽 parse html 什麽时候载入
resource 要怎样避免阻塞渲染,request 数量对浏览器的影响跟怎麽改善,
rendering pipeline 是什麽?怎麽加速渲染的 performance 跟制作高效能动画,
js 动画跟 css 动画的差别。
http verb 有哪些,基本状态码,etag 的 cache control,CORS 的问题跟解法。
常见的前端安全性问题 CSRF XSS 的解法,cookie 的安全性问题,jwt 的原理。
基础知识的表达是需要练习的,表达不出来的知识表示你对他的掌握还不够好。
当然难免还是要写一些 leetcode
--
-心态
最後即使能不能拿到 offer 除了实力以外运气也很重要,没拿到 offer 不代表是这间公
司对你的否定,虽然心情也是蛮不好受的,但是还是要在努力加油去找下一个机会。没拿
到 offer 也不见得是坏事,毕竟你真的要实际下去工作才知道这间公司是不是真的有那
麽的适合你。面试被电没关系,不会的知识学了就会了,工作只是一时的,真正有价值的
是健康的身心跟努力想变强的自己。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.230.47.22
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1506780799.A.762.html
1F:推 prag222: 之前在外商看到公司的前端工程师都感觉好猛 09/30 22:20
2F:推 INTJ: 强 09/30 22:24
3F:推 tw689: 推原po 不推104 09/30 22:30
4F:推 lulufufu: 推分享 09/30 22:33
5F:推 y2468101216: 推 09/30 22:45
6F:推 CaLeLu: 详细推,看到自己与下一个阶段的差距了QQ 09/30 23:09
7F:推 Eos: 1.3M是台湾软体业技术职的顶了吗 09/30 23:24
应该不是
8F:→ dnabossking: 可以请问学历吗? 09/30 23:34
硕士 不过我想前端跟学历比较没有关系
9F:推 testPtt: 前端不钱端阿 毕竟现在套版就能做很好看了 09/30 23:38
10F:推 bowin: 推详细分享!不过好多博弈,然後是SaaS喔 09/30 23:38
感谢提醒 修正 Typo
11F:推 prag222: 之前看一下Typescript用了一下let 有浏览器不支援吗? 09/30 23:44
12F:推 Hevak: 推,这篇分享很详细 09/30 23:54
13F:→ Hevak: 不支援 let 不奇怪,但 typescript 可以 compile to es5 09/30 23:55
15F:→ Hevak: 刚刚上面漏打字orz,有详细分享被问什麽觉得很有帮助 09/30 23:56
16F:推 savealone: 强!面试的公司跟我找的很类似! 10/01 00:00
17F:推 youtuuube000: 这心得文真有用 推! 10/01 00:16
18F:推 asleisureto: 两年就破百 前端薪水真的不错@@ 10/01 00:21
前端薪水大部分都偏低吧
19F:推 xyz2222aqaq: 感谢分享,刚满一年努力中 10/01 00:46
20F:推 oneword416: 高手~感谢分享! 10/01 00:59
21F:推 Schaos: 谢谢分享 10/01 01:02
22F:→ KernelChen: appier 前端好像满好进的 10/01 01:23
面试的水准蛮高的 我不觉得好进去
23F:推 genius945: 推 10/01 01:46
24F:推 puritys: Good 10/01 02:02
25F:推 k801030: 感谢分享 10/01 02:06
26F:推 content71: 推一个 10/01 02:08
27F:推 vi000246: 详细推 10/01 02:17
28F:推 IhateOGC: 恭喜 10/01 06:22
29F:推 alice822: 感谢分享 10/01 08:25
30F:推 TAKADO: 推 10/01 09:40
31F:推 kakahikari: 感谢分享 10/01 09:45
32F:推 louisalflame: 推分享 10/01 09:51
33F:推 zonppp: 好强 10/01 09:57
34F:推 jen1121: 推 10/01 10:12
35F:推 zerozzz7887: 感谢分享 10/01 10:31
36F:推 clamperni: 感谢分享 虽然不会用到但还是帮推 10/01 10:34
37F:推 william45682: 分享推 10/01 13:19
38F:推 comicat: 原po厉害 10/01 14:11
39F:推 duck10704: 好强... 有些问题我都回答不出来 QQ 10/01 16:37
40F:推 tx50xyz: 阿,有原po的一半功力就好了 10/01 20:19
41F:→ tx50xyz: 真的,有时找工作,是要有运气的 10/01 20:19
42F:推 fun4i0220: 高手 推 10/02 01:36
43F:推 robertabcd: 感觉 offer 有点偏低 10/02 09:13
44F:推 Japie: 朝圣!! 强者我同学 10/02 09:46
45F:推 godgunman: 是说 fabonaci 拼错了应该是 fibonacci 10/02 15:04
46F:→ godgunman: 还有 fibonacci 求出第 n 项 那边应该是 O(log N) 吧 10/02 15:07
喔对 抱歉 修一下 typo 感谢大大提醒
另外公式解算 power 应该是 O(log N) 没错
47F:推 lmr3796: 费伯纳西公解的N次方根号5是logN吧 10/02 16:13
48F:→ lmr3796: 啊靠北楼上有了XD 10/02 16:13
49F:推 LarryPage: 强者我同学 orz 10/02 18:55
50F:推 qcl: 强者我同学推! 10/03 21:01
51F:推 t7552175: 强者推 10/04 18:16
※ 编辑: zeroshine (61.230.17.173), 10/05/2017 11:31:33