[心得] 研替面试(台积/MTK/群联/慧荣/益华/新思/群晖/NVIDIA)

楼主: benhook (benhook)   2017-12-25 22:31:53
====Outline====
前言
事前准备
台积电 (CAD Flow)
联发科 (数位IC/CAD/软韧体)
群联 (Firmware)
慧荣 (CAD Flow)
Cadence (Software)
Synopsys (Software)
群晖 (Software)
NVIDIA (Deep Learning)
结语
====前言====
各位版友好,
小弟在找工作期间受到版上文章帮助许多,
因此发一篇心得文希望也能抛砖引玉,
小弟是电子所EDA背景,EDA刚好介于IC设计与软件中间,
用前言纪录一下找工作与工作选择时的心路历程,文长可以直接跳过XD
因为个人兴趣是在软件开发上,所以是比较想进纯软或EDA公司,
但是对Design House EDA相关的工作做了一些了解后我觉得有以下优点,
1. 钱可能比较多(?)
2. 可以碰到真的Design,实际解决先进制程碰到的问题,如果是foundry可以碰到许多Silicon Data
(套句面试主管说的话,我们的工作是用别人开发好的算法来解决问题,
所以以前在学校学到的任何EDA算法都还是会在工作中用到,只是比较不需要自己Implement)
3. 出路广,基本上所有Design House都会有这种职缺,也有些人工作几年跳到EDA公司
对我来说最大的缺点大概就是比较没机会碰到大型的程式(当然有些Design House会有in house tool的部门),
在思考很久后还是决定以兴趣为重,因此我第二个抉择是在软件与EDA公司之间,
板上稍微搜寻一下应该可以找到满多讨论的,
坦白说现在CS的风潮满盛的,在这种环境不免会想要赶快进软件业跟风一下,
不过相较于半导体业,软件的研替职缺似乎相对少?(也有可能只是我没找到XD)
而半导体业看起来在几年内仍然会是台湾十分稳定的产业,
加上EDA的工作应该有机会碰到满多算法的最佳化,这同时也是我会想要继续学习的,
最后对于有拿到的offer衡量几个因素包跨产业的职涯走向、薪水、地点,
我当时想了一两天就觉得不管想再久也不可能想出一个最佳解,
最后想到系上教授在生涯规划上给的建议:
”你唯有不断的调整,一路走过去,才会找到最适合的地方。
如果你可以做到这样子的话,你其实不用担心你的initial state在哪里,都可以。”
索性就选了一个当下觉得最喜欢的公司,
不太想被认出来所以就不说我选择哪间了,
下方分享一下面试的准备与面试流程,
我想自己有没有录取也不是重点,
因此下方不会特别提说自己有没有拿到offer,
也欢迎各位先进不吝给予指教。
====事前准备====
做了一份自我介绍的投影片,
内容包跨实习,专题,课堂project,硕士研究,
内容大致相同,但是会根据面试的公司做调整。
基本上一定会问你做出来的结果如何,
如果不理想的话是为什么?如何改进?怎么分工?
leetcode学期间有空闲就会写一下,
到暑假求职期间大概练习70题左右,
大部分easy加上一部分的medium,
另外有看一本书cracking the coding interview,
这本书内容不难都是经典题,解答也写得很好,
我认为非常适合用来对大方向的题型做了解。
复习C++,这部分用大一修课的投影片,
复习包括const, function pointer, virtual function, polymorphism…等等观念。
复习网络上的考古题,
这部分我认为是一定要做的,
考古题重复的比例超级高,
不同公司出的题目常常也都雷同,
所以一定要复习。
另外因为要面群晖所以恶补了一下OS,
推荐清大OCW周志远教授。
不过没什么被问就是了XD
事先准备好一些想问的问题,
这部分就看自己最在意什么,最想了解公司哪部分!
====台积电 (CAD flow)====
首先提醒来GG面试的版友如果有准备投影片的话最好印出来,
虽然现在应该可以带笔电进厂区了,但是还是以防万一,
一到公司就先做人格测验跟英文测验,
之后就搭接驳车到另一个厂区面试,
面试主要是在听我投影片做自我介绍,
介绍过程中主管会不时提出问题,
如果主管熟悉的领域问题就会比较深入,
像是我硕士研究的部分就问了很多,
如果我的回答不太合理会再继续问下去,
最后就是介绍部门跟由我提问,
CAD部门需要在新的制程出来之前抢先了解并解决EDA Tool可能会碰到的问题,
最后由主管带我离开结束这次面试。
====联发科 (很多部门)====
一到面谈室先带去一个小房间做上机考(C/C++),
上机分选择题跟程式题,
选择题有做网络上的考古题应该就没问题,
第一题考dynamic allocate 2d array,
第二题考字串处理相关,
老实说都不难,可是我两题都没写出来...
需要注意的是题目是自己要写scanf/cin吃测资,
另外compile很慢会当当的,所以准备上基本语法一定要记熟,
(不过后来面试没有任何主管跟我提到这份考卷)
做完笔试就到另一间会议室跟主管面试,
总共有五个主管分别来至不同部门,
每个主管都会给你名片,这时一定要记好每个主管代表的部门,
因为最后要勾选对哪间部门没兴趣的表单,
面试的流程是自我介绍->专业问题->部门介绍->面试者提问,
自我介绍时主管就会根据内容去做提问,
因为面试的主管大部分是做数位IC设计的,
我也直接承认我不太想找写RTL的工作,
感谢主管们认真的帮我想有什么工作适合我XD
中间休息吃晚餐一小时,
晚上也是一样面试五个部门,
数位IC主要就问我有没有跑过完整的design flow,Verilog写过什么、怎么架构、怎么省面积、timing没过有可能是什么原因......
CAD组比较偏向问我硕士研究的方法、想法
软韧体的team就问做过project的大小、分工、如何debug、de过最难的bug,
最后由我提问完结束面试,这里就不细说每个部门的工作内容了。
====群联 (Firmware)====
面试台北两个韧体部门,
两个部门各有一份考卷,
内容包含C语法,算法/资料结构的概念,
简单的程式题,OS/计结相关的问题,
如RISC vs CISC, Interrupt service routine,
面试先自我介绍然后面试官问问题,
其中有一个面试官问我为何想来应征群联韧体的职缺,
我说了一些像是喜欢写程式还有认为群联前景很好等理由,
这些理由有点虚当然也说服不了面试官XD
于是他便向我分析了软件产业与做韧体的不同,
例如在programming上写韧体OO的观念比较没那么重视,
以及做韧体主要重视的是domain knowledge,像群联本身是做NAND flash controller,
如果是从多媒体、通讯等等的韧体跳过来对他们来说也是要重新训练。
非常感谢面试官的分析和介绍部门。
面试结束后主管会进来看你还有没有什么问题并顺着问题介绍部门。
====慧荣 (CAD flow)====
公司会先寄信告知面试当天需准备的事项,
面试前会先做英文,智力测验跟专业测验,
英文听力我听得满吃力的,不过有可能是我太久没接触英文,
专业测验包含对design flow的了解,
简单的程式pseudo code,
以及setup/hold time……等等design的知识,
做完之后一样是投影片自我介绍,
专业问题主要环绕在我自我介绍的内容,
我当天是直接接续二面,一样是自我介绍与主管提问,
个人认为慧荣的CAD team能接触到的东西满广的,
根据主管的说法是新人会先将design flow的各个环节都摸一遍,
再依照兴趣能力去分配工作。
====益华 (Software)====
新竹:
面试新竹一个做formal验证的部门,
面试流程是分别与两位主管面试最后再与大主管面试,
面试问题主要是针对我目前的研究题目,
以及跟我研究相关的其他领域延伸出去问,
也讨论了一下我的研究中的某些function用什么语言来写比较方便XD
我想不同背景的人应该会被问到不同的问题,
之后就是主管介绍部门的工作内容还有提问,
因为在IC Design中的不同stage都有需要去用到这个部门的产品,
个人认为工作内容有机会接触到的IC Design的满多环节的。
台北:
因缘际会下知道原来台北有一个做package的部门,
面试流程为自我介绍->笔试->白板讨论,
因为是软件公司所以在自我介绍的时候就问了一些问题确认我对软件开发的兴趣能力,
笔试为程式pseudo code搭配一些有趣的个性问题,
像是如果你不做软件工程师你的工作会是什么XDD
题目简单,不过我还是犯了一些错误被点出来,
最后是三题白板题,差不多leetcode easy~medium的问题,
像是找出array中a+b=c的组合,
还有给你一堆数字找出最大的组合,ex: 5, 70, 6 => 7065
结束之后就由主管介绍部门,部门主要是在美东,
在台湾设点共同开发一套公司的封装软件。
====新思 (Software)====
一面:
一面总共有两个部门,一到公司先做两个部门的考卷,
有一份比较难另一份稍微简单一点,
内容包含C的观念,复杂的pointer操作,继承,程式题,
情境式的class设计,资料结构比较,物件生成期,程式debug,
一张考卷只有30分钟写起来满赶的,
接着是第一个部门的面试,一共两位面试官,
利用空档时间考了一题白板题,并分析复杂度,
之后由我做自我介绍然后面试官提问,
我有些忘记哪些问题是哪个部门问的,
所以以下问题两个部门合在一起写,
资料结构的比较(array, linked list, hash),
static变量,继承问题(继承问满细的),polymophism,写code的一些架构与习惯,
写过程式的大小, 组员人数......等等。
也有针对成绩单上成绩比较差跟比较好的地方去问,
然后笔试写不清楚的地方会再问你一次。
二面:
只有一个部门进入二面,
一样是先自我介绍并穿插C语言相关的问题,
二面的问题个人认为比较偏向写程式的习惯,
像是会不会写一些测资确定自己的程式再更动后不会有bug,
再度问到继承,一个很有趣的问题是如果有一个base class被100多个class继承,
如果要做一些更动会很麻烦,那你觉得这个时候用继承还是一个好作法嘛?
有没有其他方法?我直接答不出来XD
另外也有讨论一下segmentation fault,
不过我除了pointer指到NULL以外想不太到其他caseXD
基本上主管都是顺着你的回答继续问下去,
这个部门是作frontend的simulation,
最后由我提问之后结束二面。
====群晖 (Software)====
先说结论,
看完版上众多关于群晖的心得分享后,坦白说还满紧张的,
但是我想写白板题的时候就有什么想法就说出来跟面试官讨论,
这次面试中有时候我做法也想不太出来,
是靠着跟面试官讨论,还有面试官给我的提示才一步一步完成。
在面试中我不断地被问到对软件开发的哪一块比较感兴趣,
很明确自己想去哪个部门的版友应该可以在这个时候争取一下(?)
第一关:
第一关是两位面试官一同面试,
由于本身是EE背景所以我先介绍了一下自己修过比较偏资工的课,
以及稍微介绍了一下研究题目,
十分意外的是面试官竟然有先google过我的研究题目,还查到了我实验室的学长XD
因为我有修过电脑网络的课,所以问了我一下TCP/UDP这些观念,
白板题跟regular expression有关,判断pattern跟string是否有matching,
“.” matching any single char
“*” match zero or more of the preceding element
ex: a.b* == acbbbbbb
我用了while loop跟一堆if去讨论,
花了很多时间最后也有些case没考虑到,
好险面试官还是让我进路第二关。
第二关:
第二关的面试官有先跟第一关的沟通过,
所以我不用再从头自我介绍一次,
面试官问我还有没有其他想介绍给他的,
我便说了我再资料结构这门课做的project,
接着白板题两题,
翻转字串hello => olleh,翻转语句hello world! => world hello!
字串使用linked list结构,
写完后确定没有问题就让我吃饭休息。
人资关:
这一关就人资会问你很多问题,
我想应该跟大部分人资的问题相似,
我就照当时想到的回答。
第三关:
面试官一进来开始跟我聊写过的程式语言,
如何debug,之后讨论了一下资料结构的优缺点,
然后再纸上讨论BST的特性,还有怎么做delete,
讨论的差不多时,面试官就说那来写code吧XDD
于是就在白板上把delete给实作出来,
后面又考了一题binary tree任意两点最长的一条path找出来。
这一关面试官给我一种带着我写code的感觉而不像在考试,
写完没问题之后面试官说去请主管进来,到此终于松了一口气。
主管关:
主管知道我没修过OS,所以就问我对OS了解多少,
我就把我面试前背的东西说一说,主管也没有为难我,
不过还是考了一下白板题,一题ctoi,一题BST的insert,
我用了一个不太干净的写法写完了,
主管希望我用double pointer的方法写得好看一点,
但是我对double pointer不太熟没想出来,
最后就看主管表演了一下double pointerXD
由我提问之后结束面试。
====NVIDIA (Deep Learning)====
履历寄出过一阵子后接到主管的电话,并约了一个时间做phone interview,
phone interview的问题主要环绕在我做过deep learning相关project,
用过的toolkit,我回答keras跟pytorch,对底层的CUDA没什么研究,
也被问了EDA领域有没有什么deep learning相关的研究,
另外也问了我对deep learning的看法,对现在AI发展的了解,
可能是因为是phone interview没问什么技术问题,
之后因为答应了其他offer就婉拒了on-site interview,
这个部门的工作内容是和客户合作完成deep learning相关的应用,
也算是帮助公司推广deep learning。
====结语====
求职也经过满长一段时间的,
坦白说真的满累的,不过很高兴自己也有机会能发一篇心得文供大家参考,
我想最大的心得就是对有兴趣的工作真的要勇敢投递履历,
就算没有录取也赚了经验,不会有遗憾。
最后祝所有为了求职奋战的版友都能顺利找到理想的工作!
作者: wan8088 (大屁屁怪獸)   2017-12-25 22:36:00
作者: dakkk (我是牛我反刍)   2017-12-25 22:38:00
高手
作者: Go2 (勾兔)   2017-12-25 22:38:00
推推
作者: yan1314 (你在看我吗?)   2017-12-25 22:42:00
好文!祝福楼主找到喜欢的工作:)
作者: MOLICE113 (MOLICE113)   2017-12-25 22:44:00
所以哪些有拿到offer? 最后又决定去哪家?
作者: cuteSquirrel (松鼠)   2017-12-25 22:45:00
作者: NTHUCS5566 (清大资工56)   2017-12-25 22:45:00
我是VG没进二面 QQ
作者: sky24421 (Patchouli)   2017-12-25 22:46:00
推 太强了
作者: j06900315 (chuni)   2017-12-25 22:47:00
推~
作者: a22918097 (宝宝狗)   2017-12-25 22:55:00
强者 已跪
作者: discipile (DIS)   2017-12-25 23:09:00
好文
作者: spwqee (spwqee)   2017-12-25 23:14:00
作者: tony801008 (郁)   2017-12-25 23:15:00
作者: DIDOLIN (朔风狂浪)   2017-12-25 23:19:00
推强者
作者: assassinzero (刺客教条 我的最爱)   2017-12-25 23:28:00
感谢分享~~~
作者: GreedyBian (贪扁)   2017-12-25 23:30:00
先推
作者: Csir (张胖胖)   2017-12-25 23:44:00
强!!!
作者: hibiscus520 (周末也会笑)   2017-12-26 00:00:00
segmentation fault在你access所配空间外刚好跨page就会发生唷提供个例子做参考跨的那个page也要invalid的(补充)
作者: lammin (死鱼)   2017-12-26 00:42:00
慧荣赞赞赞]
作者: hungpeg32   2017-12-26 00:46:00
强者推
作者: mmker (奶奶奶奶)   2017-12-26 01:31:00
强者阿阿阿
作者: bigbite (子子孙孙永保用)   2017-12-26 01:36:00
推推
作者: jackySnake   2017-12-26 07:01:00
作者: KernelChen ( )   2017-12-26 07:38:00
也是想到五楼的问题不过有这些经历算很不错了
作者: leavefly (leavefly)   2017-12-26 09:29:00
推smiNvidia未来几年AI也有好光景
作者: yyy8167 (阿肯)   2017-12-26 10:13:00
eda都藏超多大神的
楼主: benhook (benhook)   2017-12-26 10:50:00
h大想请教一下你举的例子,为什么access到跨page的地方会
作者: physicsdk (我是小洛)   2017-12-26 10:50:00
强到不行
楼主: benhook (benhook)   2017-12-26 10:53:00
segmention fault? 我后来有想到一种状况是我如果write到超过malloc的空间又刚好被其他object free掉就会出问题
作者: smileray (X______X)   2017-12-26 13:26:00
作者: s93rm6 (Milks)   2017-12-26 14:26:00
那句是03大师说的吗 XD
作者: blizzard88 (blue)   2017-12-26 15:52:00
请问Formal是面哪个产品
作者: KyotoAnime (京アニ)   2017-12-26 17:42:00
推03
作者: windverb (哈哈哈)   2017-12-26 18:20:00
要能五点下班就选外商 要钱就选前四家
作者: hibiscus520 (周末也会笑)   2017-12-26 19:02:00
你举的那个也可以.提到要跨page是有可能这个frame
作者: michaelm8787   2017-12-26 19:03:00
推强者 我偶像
作者: hibiscus520 (周末也会笑)   2017-12-26 19:03:00
都是配给你这个process.当你存取有机会是valid
作者: asdg62558 (吐司皮克)   2017-12-26 19:06:00
推强者
作者: mickycharlie (froggyfroggy)   2017-12-27 00:12:00
好奇原po拿到哪几间offer?
作者: powergreen (happyboy)   2017-12-27 02:20:00
作者: HollyCross (台客阿嘎)   2017-12-27 13:31:00
大师
作者: fallen01 (优质不OP)   2017-12-27 17:06:00
高手
作者: zxxch123 (Bigjiji)   2017-12-27 18:02:00
强者
作者: sean30057 (Sean)   2017-12-27 21:01:00
推~ 要南科台积内推的可站内信~
作者: s77485p (快乐猪)   2017-12-27 22:05:00
北群联...
楼主: benhook (benhook)   2017-12-27 22:36:00
h大!了解~感谢我想我有拿到哪几间offer真的不是重点,能帮助到大家准备面试比较重要

Links booklink

Contact Us: admin [ a t ] ucptt.com