作者cair (白色的黑猫)
看板Oversea_Job
标题[北美] Firmware Embedded 大量面试心得
时间Sun Aug 16 07:10:07 2020
##引言
版上北美科技业文章多为Software的相关职缺跟心得
Firmware Embedded相关文章跟职缺很少
想说来贡献一下我这半年来面试的心得 抛砖引玉一下
本文也适合一些在台湾IC design,OEM,ODM背景的工程师
因为有些公司有签NDA,我不会在公司段落中描述面试的实际问题
我会把所有面试问题集中在下一段
FW engineer 多半不用刷leetcode,我本身也没有刷
常考题我会列在下方,依照类别分类然後再依照出现频率排序
##常考题
1.Linked List - 最常考,因为有许多follow up,而且可以同时考pointer, malloc,
struct等。 我自己当面试官的时候也常出这个题,因为可以随着面试者的Level问不同
follow up。
a.基本:print, push, add, pop, delete
b.应用:reverse, sort, merge多个list, 找出是否有环
2.Bit Operation - 这算做底层跟高阶语言最大差异之一,我面试别人也多半会出一小题
这个
a.基本:set, clear, togger, mask, shift, AND, OR, XOR
b.应用:有几个bit为1, reverse, bit swap, Endianess Swap
3.C语言关键字跟观念 - static(注意用在变数跟函式的差别), extern, volatile,
const, union, enum, struct(注意里面变数顺序会影响实际size这点), malloc, free,
function pointer, sizeof(这有蛮多易错小细节),
call back function, pointer to pointer, call by reference\value(注意C\C++差
异), atomic
4.OS概念题 - multi-thread, mutex, semaphore, interrupt, ISR,
priority inversion, deadlock, shared memory, memory leak, memory alignment
5.嵌入式概念题 - I2C, SPI, UART, JTAG 特色及比较, GPIO
6.应用题 - 这边的题目可能看公司跟看职缺需求,不一定比较难,只是可能需要相关
domain knowhow或是思考要转一下
a.字串搜寻, 比较, 复制
b.影像\声音 讯号 filter 处理,譬如用一个3*3个filter跑过整张图片来模糊化\锐利
化\去杂讯。或是去掉特定频率声音
c.Circular Buffer Queue - 基本题不难,但follow up多半是要考虑到 producer跟
consumer为不同thread,结合multi-thread, mutex等观念
d.封包处理:多半是模拟蓝芽I2C UART之类的题目,譬如给定一个字串 "开始字元 指令
长度 参数*n CRC 结束字元",可以当成字串处理题目来做,
但要考虑怎样设计好API跟容错检查。
e. 控制系统:譬如给定三个API分别是加温\降温\现在温度,要你写个可以恒温的系统,
设计概念是fuzzy甚至PID system
f.可以去搜寻API设计概念的影片,Google Facebook都有相关影片在youtube上
g.atoi, itoa, state machine
h.QuickSort, MergeSort, Binary Search,这边的题目最好会用Array也会用
LinkedList解
i.memcpy 及优化
j.Array中找出相加(或相乘)最大,等於特定值的组合
k.矩阵内积
l.floating point 运算,实做
7.behavioral questions这部分答案很个人化,而且也不同公司可能期待不同答案,譬如
有些公司希望你对未知问题尽可能做大胆的推测,有些公司则是希望你"知之为知之,不
知为不知"。 常问的多半包含:
a.你有那些失败经验\code出大bug,怎样解决
b.跟组员\主管意见不合怎解决
c.举个例子证明你团队合作能力
d.客户dealline突然提前怎办
e.怎处理压力\决策\领导
f.接到新专案会怎处理
g.组里有人一直拖後腿怎处理
##各公司面试心得
以下多半是这半年疫情期间的面试心得,全部都是视讯,我底下提到的多半是针对最後一
轮,onsite轮的面试。
公司排序依照我印象深刻跟面试特殊程度,跟难易或时间无关。
部分公司有NDA,所以不会提供各公司面试题目细节,请参考上方一般性FW题库。
以下为均为我个人经验,许多公司可能各组差异极大。
Startup因为可能面试人数较少,虽然他们应该不会看PTT,但我觉得针对性太强,所以暂
不写出名字。
#Blue Origin
Jeff Bezos的火箭公司,因为工作性质不接受H1B,OPT(但可能看组)。
因此面试全程都是美国人,比较特别的是要写个小文章讨论你对宇宙探险的看法,我写了
大概一张A4,但好像他们期待是接近小论文的形式,後来HR跟我讲之後发现这占面试比例
不小的部分。
除了写文章以外,还有一小时个人简报,全组会听你介绍过去做过什麽事情,一小时後再
个别coding面试,全程大概6小时。
#Apple
影像相关的组,因此影像相关问题比较多,整体题目不难,但会看重API设计以及testing
,每个面试官多半会问些少量behavioral questions,少量设计问题。
面试全程7小时,我请HR切成两个下午。
#Qualcomm
面试过程全部印度人,题目中等但英听大考验,我多半会打在online coding介面上跟对
方double check 他刚刚说过的重点。约5小时。
#Facebook
ARVR相关组的音讯职缺,感觉他们喜欢问比较难的然後再逐步放提示,分析题目跟问到重
点会是面试关键,有单独几轮是问behavioral questions跟设计问题。全程约6小时。
#Oracle
徵FW专长但是问了不少SW演算法,约5小时。
#Nintendo
音讯职缺,大部分题目不难但bar riser那关突然变超难,约4.5小时。
#Colgate
高露洁,对!就是牙膏那个,电动牙刷相关职缺,视讯面试但对面没人,录影之後对方回
去看,我觉得是很糟糕的面试经验,缺乏互动。
#Startup-自驾车-Z
蛮看重系统设计的感觉,题目定义很多细节很完整。
#Garmin
影像问题占比较多,一般FW问题次之,全部大概5小时。
#Samsung
题目都在上一段基本题库中,但有几个follow up是有点挑战性,约5小时。
#BlueBerry
回家作业可能要花一下午,要装VM, 他们的系统, 某题库, 然後再写指定需求。我看到就
懒的写了...
#Startup-智慧手环H
比较特别的是他们需要firwmare加ML人才,切成许多小轮,2+2小时考firmware,1+1小时
跟founder\CEO聊天,2小时考ML,ML考试时可以Google、可以用任何常见API。
#Startup-自驾车-I
影像相关问题很多,感觉要找耐加班的。
#Startup-自驾车-B
影像相关问题很多,还有一些ML问题。
#Startup-IoT-S
Coding 1小时,跟founder CEO CTO Team lead聊天4小时。
#Tesla
题目有许多底层细节,有些题目解答不是唯一,感觉是看会用怎样的设计来解题。
#SpaceX, Boring company
钢铁人旗下公司一起写,基本题不难但感觉会期待你架构严谨且bug free。然後设计类题
就是pseudo code加互相讨论,还有部分天马行空创意题。
#Masimo
医疗器材大厂,题目范围广,大概上面题库区的都有各问到一些。
有一半的面试官是专业且认真,热心跟我介绍不同产品跟组里未来方向
但其中几个面试官边面试边吃饭就算了,还有对着视讯剃牙的 =_= ,全程大概6小时。
#Startup-自驾车-R
题目偏演算法,以leetcode标准来看不难,但以C\C++来写略有挑战性。
#Startup-助听器-W
音讯处理问题为主,题目对於没做过音讯的颇难,但给的提示算详细,仔细审题之後不难
。
#Marvell
综合式的firmware题,好像比较注重这code执行效率。大概5小时。
#Microsoft
behavioral questions占比很大,coding题目不难,但比较重视code的scalability
还有设计。
#Amazon
有几次经验不错,有几次极糟,遇到面试官放鸟超过一次,面试官非Firmware相关,甚至
直接跟我说:他们是谁有空就来面试,不是看专长跟领域。
感觉面试官都会期待特定标准解答。
#Verifone
Hiring team人都不错,但HR team外包混乱到不行,有5个人在南亚的HR跟我讲4个不同的
onsite时间。
#Google旗下生医新创
Firmware相关题目不难,但是问了很多生医\生技领域学术问题。
#Startup-机器人-E
简报+多轮聊天,期待是从HW FW SW都有涉略的人,题目也会均涵盖一点。
#Intel
五轮,每轮都是大约20分钟coding,20分钟讨论改良前面coding设计,20分钟
behavioral questions。
##结语
疫情期间都是远端面试,因此比较好安排更多onsite,但明显可以感觉到LinkedIn上面职
缺大幅减少,甚至有些拿到口头offer後跟我说hiring freeze了。
再加上有些公司也裁员了,竞争对手也变多了。
我这半年大概面试约50间公司,约2X间到最後一轮,拿到8个offer,加州占4个其他分散
各州。
但这文章希望可以抛砖引玉,有些公司我没写太多心得,但可以给不知道投哪些公司的作
为参考,也可以知道有哪些还在徵人。
文章中有不足或疏漏的部分欢迎各位补充!
希望各位求职顺利!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 75.72.60.151 (美国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Oversea_Job/M.1597533013.A.523.html
1F:推 fr75: 你年资几年?在这疫情中拿到这麽多面试机会 08/16 08:24
2F:→ fr75: 这方面薪水大约多少?跟一般SWE怎比? 08/16 08:26
3F:→ fr75: 影像方面问题是指image processing还是甚至是computer visio 08/16 08:31
4F:→ fr75: n?还是关於影像格式跟传输? 08/16 08:31
5F:→ fr75: 你被问到设计的问题都只是存软吗 还是包括硬体或硬体应用? 08/16 08:33
6F:→ flyawayla: 我猜5年以上,近10年之类的,看一下上站次数就知道了 X 08/16 09:30
7F:→ flyawayla: D 08/16 09:30
台湾2.5年 美国4.5年
薪水部份我也没拿过SWE offer不知道怎比
但根据一些薪水比价网站跟我身边朋友听的数字
FAANG跟类似等级的TOP20 Tech FW薪水大约是SW 8成
一般 Tech FW薪水大概是SW 6成
影像问题多半是image processing,copmuter vision大多流行用ML:CNN RNN之类了吧
Firmware容易被问到的问题 大多是软硬整合,HWSW那边要有概念但当然不用太深入
譬如你有个Gyro sensor会显示角度,你怎麽透过I2C取得value,怎提供给SW APP
假设HW那边资料更新率是X Hz,SW跟FW要资料的频率是Y Hz,会有什麽设计差异或限制
※ 编辑: cair (75.72.60.151 美国), 08/16/2020 10:03:45
8F:推 jason61206: 推推 蛮棒的! 08/16 10:12
9F:推 lakeinlake: 推!很详细!作者本身有身分? 08/16 11:04
10F:→ cair: 来美国留学加工作6年 一年前拿到绿卡 今年用力面试 08/16 11:07
11F:→ cair: 也是从OPT H1B的慌乱紧张中过来的 08/16 11:08
12F:推 baby0326sky: 哇!谢谢分享 08/16 12:05
13F:推 matyih: 能拿这麽多面试很猛 08/16 12:48
14F:推 jk842323: 感谢分享 08/16 13:04
15F:推 lrvine: 感谢分享! 08/16 13:07
16F:推 laba5566: Blue Origin很猛 08/16 15:01
17F:推 ShakeHandtw: 感谢分享,好文章 08/16 16:06
18F:推 andersonchen: 这把我们TEAM 常考的全部包含了.. 08/16 17:42
19F:→ cair: 楼上欢迎分享一下啊,看看各公司不同面试观点 08/17 01:43
20F:推 kevin70636: 推一个 感谢分享 08/17 02:26
21F:推 expiate: 感谢分享 08/17 05:14
22F:推 j83435001: 原po好帅 08/17 10:59
23F:推 torso: 是在职面试吗?50间!好强的时间管理! 08/17 15:54
24F:推 Findagreen: 请收下我的膝盖 08/17 19:45
25F:推 fifi82726: 面这麽多是怎麽安排offer时间的阿 08/18 00:32
26F:推 urmfo: 推 08/18 00:48
27F:推 paselalps: 也想知道原po如何安排不同公司收到和回覆offer的期程 08/18 02:16
28F:推 b0690151: 实用 推 08/18 07:00
分享一下我自己疫情期间的面试排程
也就是疫情期间WFH才能安排如此密集的面试
#我在三月的时候拿到两个大公司的口头offer
结果都因为疫情hiring freeze了 因此开始了疯狂面试之路
而且可以明显发现Linkedin上面职缺爆减
取而代之的是很多仲介公司跟约聘职缺
大部分科技公司都是HR-> 一小时初面-> 4-6小时virtual onsite
有些可能是两轮初面,startup可能则是一小时面试*N
Linkedin上面前20页常看到的都那些,我翻到差不多背下来了
我建议搜寻的时候可以自己设定 多组 职缺+地点 各看前五页
会比同一个搜寻条件看20页有效率多
譬如 Firmware+LA Firmware+SF Firmware+Seattle
还有AngleList也能看一下
#四五六月大概是海投跟面试练习的时间
在公司上班的时候可能第一轮HR电话都不好意思接
既然WFH当然就随时想接就接罗,这期间大概每天有2-5通HR phone screen
不过有很多约聘的也是不请自来一直打
我这期间也面试了几间约聘的想说当练习
但过没多久就发现约聘面试太简单,後来就都直接推掉了
一小时的coding我大概每周会有1-3场
还有一点,因为我在东岸有时差可以利用,这点让我时间管理上很方便
西岸两点我这边五点了,约西岸下午我几乎都可以不影响工作的面试
onsite轮有时候就要配合请假,反正今年也不能去哪玩了,假用一用吧
所以主要就是利用时差+WFH+请假
毕竟WFH嘛 就算真的面试卡到上班时间,我晚上补点进度也就可以
#六下旬到七月开始进入收尾阶段
这部分最重要的是调整onsite轮的速度,有些公司太快的故意约晚一点
有些公司动作慢的要多写信催一下
但我也不是调得很好,有几个offer来太早、拖了两周还是只好拒了
有几个更好的公司面试排太慢也只好拒了
最後大概是乔到五个offer分别在10天区间内进来
我中间也有面试被打枪到很绝望,觉得面试遥不可及,都跑去开104了XD
※ 编辑: cair (75.72.60.151 美国), 08/18/2020 08:15:42
29F:推 ckang: 我也是FW 这篇太强 08/19 09:05
30F:推 paselalps: 感谢分享 08/19 12:41
31F:推 semm: 前室友神人快拜 不刷题还可以拿到一堆offer 08/20 14:17
32F:推 NAMESTANLY: 推一个 08/21 11:32
33F:推 NAMESTANLY: FW比SW不值钱 QQ~ 08/21 11:37
34F:推 jason770301: FW要转一般SW也很容易吧。再刷题就好了 08/21 15:39
35F:推 joey11121: 推,很少看到国外底层 08/21 18:26
36F:推 kingnamefu: 推~光看经验分享就觉得超强的! 08/30 23:02
37F:推 russellluo: 满厉害的内 09/09 21:05
38F:推 seal46825: 推 10/29 00:27
39F:推 erial: +++ 01/05 01:17