[心得] 软韧、算法 新鲜人面试心得

楼主: ftp013222 (dainding013222)   2021-09-09 10:06:13
网页好读版 : https://grchen0827.github.io/2021/09/09/interview/
背景
新竹电机硕毕,论文机器学习相关
排名40%、没有Side project、没有比赛得奖、没有实习
整体就是一个平凡的路人
技能
略懂 : C、Python、Linux shell script
讯号处理、机器学习相关知识
面试前准备
(1) 清华大学 作业系统-周志远教授(Youtube上的OCW)
(2) 联合大学 作业系统-陈士杰教授(Youtube上的OCW)
这两门课的内容其实是差不多的,一开始是看周教授的课
后来当兵同袍跟我推荐,才改看陈教授的课,所以作业系统算是看了两次
(3) 清华大学 计算机结构-黄婷婷教授(Youtube上的OCW)
这门课在硕班有去电子所修过课,所以主要是复习,从头到尾完整看过一次
重点章节(Single Cycle Processer、Pipline、Memory)看两次
(4) C语言教学手册-洪维恩
复习C语言,这本书优点是简单,缺点也是简单
例题难度太低,然后很多深入的东西没谈
完整看过两次,重点章节(Array、Pointer、Struct)看三次以上
(5) 资料结构使用C-蔡明志
配合圣经本 Fundamentals Of Data Structures In C 看
(6) GeeksforGeeks
https://www.geeksforgeeks.org/c-multiple-choice-questions/
里面有110篇,看了大约60篇,很多公司的C考卷都跟里面的题目类似
里面的观念做熟,考卷应该就很少有写不出来的题目
(7) Leetcode
当兵期间一个月+退伍后半个月 写了80题(50easy 30medium)
从top interview的easy开始写,写完后写面试常考或是easy的延伸题
https://imgur.com/zL3xkLX
写完第一轮之后,有重写一轮(不看之前写的答案,开新档案写)
大部分题目都写过2次,经典题3次以上
(8) 网络考古 Ptt还有Google蒐集的题目
(9) GNU C Library
有的公司会考strcpy,strcmp,strlen,memset...等等的function如何implement
所以常用的function都有去了解是怎么实现的
在看的过程中,也会去想作者的逻辑,因为大部分的code都不太直观
去思考code为何要那样写,以及那样写是为了速度还是正确性的考量
(10) 其他
Binary search(upper bound, lower bound)
Stack(Array, Linked list), Queue(Array, Linked List)
Sorting : Bubble, Insertion, Selection, Merge, Quick
Linked List : Creat, Insert(Index), Delete(Value, Index), Free
Linked List Bubble sort、Selection sort、Merge sort
以上这些都练到开一个空白编译器,可以完整写出来+功能正确
因为是服替代役,所以当兵期间可以用手机、平板
还没退伍时,平日一天念书6~8小时(看OCW、想Leetcode题目、念英文)
假日把平日写在纸上的code,用电脑输入到Leetcode网站 + Submit + Debug
退伍后一天念书8~10小时,一周休息1天
每天的行程大概是起床后练习程式4~5小时,休息后晚上念书4~5小时
面试公司
纬创、启碁、群联(3个部门)、安霸、瑞昱、达发(络达&创发)
纬创 BIOS工程师
D 主管电话邀请面试
D+11 视讯面试
D+26 确认意愿
D+28 Offer
面试过程几乎都在聊天、听主管介绍工作内容,大约50分钟
结果 Offer (旧N+3) * 14 + 分红
启碁 5G软件开发
D 主管email邀请面试
D+10 视讯一面
D+17 视讯二面(人资、一级主管)
D+21 确认意愿
D+33 Offer
一面
一开始性向、英文、C测验,总共大约2个多小时
英文类似多益,听力部分比多益难,难的点在于语速忽快忽慢
可能上一题念很慢,下一题突然1.5倍速,然后会话不能先看完三题题目
跟多益节奏差满多的,平常写多益模拟考都800左右,但测验考出来只有600多
C语言大部分都基本题(Pointer, Bitwise Operation, Makefile)
比较特别的是考了一题Dead Lock四个特性解释
写完考卷后面主管,大部分时间都在闲聊、主管介绍工作内容,过程约50分钟
结束后当天晚上人资电话约二面
二面
先面人资,问很多人格特质问题、最近面哪几家、怎么做选择
其他时间都在闲聊或是人资介绍公司,过程约50分钟
一级主管部分,也是问很多人格特质问题、请我远端分享大学研究所成绩单
然后针对硕论问几个简单的问题就结束了,过程约30分钟
结果 Offer (旧N+17) * 14 + 分红
群联 三个部门
D 104主动投履历
D+1 人资确认面试时间
D+11 第一、第二部门视讯面试
D+19 第三部门视讯面试
D+22 人资询问部门意愿排序
D+26 人资视讯面试
D+32 人资电话Offer
D+43 正式Offer
[部门1]
自我介绍、报告硕论,结束后问了大学研究所求学经历
然后问针对面试做了哪些准备、请我开电脑里的code给他看
接下来主管分享画面,开了一个ppt,里面共17题请我一题一题回答
内容:解释概念(1/3), 给一段程式问输出(1/3), 程式题(1/3)
在面试之前知道是算法部门,想说应该会考Leetcode medium难度的题目
没想到大部分都是基本题,其中有一两题卡住,主管也都会给提示慢慢引导
过程中觉得主管很有耐心,卡住的时候会一直跟我解释题目
然后有一些小错误的时候,都会暗示我再看清楚一点
最后顺利完成全部题目,大约50分钟~1小时
结束后,问当完兵了没、假设发Offer给我,多久后可以上班
然后主管介绍部门、我提问后就结束面试,总共约1小时40分
结果 Offer 群联新人价 * 14 + 分红
[部门2]
自我介绍,报告硕论动机、方法、结论
结束后针对硕论问几个问题、问很多大学研究所求学经历和人格特质问题
问完之后考了两题程式,都Leetcode easy等级
第一题大约10分钟写完,写完后主管请我解释每一行code
解释到一半发现会错题意,大约3分钟改好
第二题一开始先跟主管讲我的想法,但主管说这方法会有问题
大约5分钟想新方法,主管说OK后开始打code
大约10分钟写完,写完后主管请我解释每一行code
解释后主管说OK,但有用到额外内存,请我想一个in place的方法
大约5分钟想新方法,跟主管解释后开始打code
大约5分钟写完,写完后一样解释每一行code
但在解释的时候有一个地方讲错,主管提示后才解释正确
接下来主管介绍部门,我提问后就结束面试,总共约1小时40分
结果 Offer 群联新人价 * 14 + 分红
[部门3]
自我介绍后,主管传了一个google document连结
总共四题,Pointer、Bitwise Operation、Leetcode easy、基本程式概念
顺利写完后,报告硕论动机、方法、结论
结束后主管问兵役问题、人格特质问题
然后主管介绍部门,闲聊了满久后结束面试,总共约1小时30分
结果 Offer 群联新人价 * 14 + 分红
安霸 嵌入式系统
D 104主动投履历
D+4 人资确认面试时间
D+16 视讯一面
D+24 现场二面
D+30 视讯三面(一级主管)
D+32 电话四面(人资)
D+33 视讯五面(台湾区经理)
安霸CEO是台湾人,公司在美国上市,产品主要是影像相关IC
一面(三位二级主管)
自我介绍、报告硕论,结束后针对硕论问很多问题,问题都有问到关键
然后请我开大学研究所成绩单(看超久),他们有兴趣的课会请我解释那门课学到什么
(问了OS, CA, DSP, ML),结束后问了一些人格特质问题
然后其中一位主管介绍工作内容、我提问后就结束面试,总共约1小时30分
一面结束后一个多小时,人资电话约现场二面
二面(现场)
早上一到公司之后,柜台带我到会议室,人资来发考卷(传说中很难的考卷)
没有时间限制,先给1.5小时,如果时间不够跟人资说可以继续写
考卷内容很广,C、OS、CA、Embeded C都有,也考了很多程式优化的题目
总共大概14~15面A4,题目有难度,但不是刻意刁难,有读过相关内容一定会写
考卷大约写了2小时,原本以为写完考卷还要面一级主管
特地带了一堆东西(笔电、纸本论文、大学研究所成绩单、履历)
但写完打电话给人资后,人资来收考卷,就跟我说可以离开了(黑人问号)
两天后人资电话约视讯三面
三面(两位一级主管)
第一位主管:
自我介绍、报告硕论,硕论问非常详细,每个细节都会问到完全听懂再请我继续
最后硕论讨论了一小时左右,因时间关系,我问一个问题后就结束换下一个主管
这位主管思路很清楚,报告到一个段落的时候
他会跟我总结他的理解,然后问我正不正确,或是哪里不清楚
报告结束的时候,我感觉他也懂了60~70%
第二位主管:
自我介绍,问了一些人格特质、求学经历
问的大部分都不是专业问题,如果没回答到他想听的东西,会请我补充说明
有谈到我对自己的期许、对公司的了解、工作内容、薪水...等等
结束前主管说明薪水组成 : 底薪 + 现金分红 + RSU + ESPP
然后我问几个问题就结束面试
两位主管都有对二面考卷答题状况做一些评价
第一位主管 : 没有很好,也没有很差,就是还好而已
第二位主管 : 以新鲜人来说,算还不错
我自己写起来的感觉大概是90%的题目有作答,约70~80%是有把握的
但是写完考卷搭火车回家的路上,回想题目时发现自己有几题粗心写错= =
三面隔天早上,人资电话约四面、五面
四面(人资)
人格特质、求学经历、实验室详细状况 总共40分钟
五面(台湾区经理)
跟蒋迪豪教授面试,自我介绍、看大学研究所成绩单、报告硕论
问题都没有很难,最后问一下其他公司面试状况
我问一个问题就结束面试,总共1小时
感觉这间公司非常重视成绩单,只被当过一科(大学的组合语言),但分数超低
每个有看成绩单的主管,都会问我当时那门课是发生什么事
瑞昱 蓝芽系统设计
D 104+瑞昱官网主动投履历
D+1 人资确认面试时间
D+17 视讯面试
部门工程师面试,自我介绍、报告硕论
结束后问了几个问题,工程师就开始介绍工作内容,介绍的满详细的
但不知道为何完全没有考试,认识的去面试其他部门都有考试之类的
结束的时候就知道不会上了,面身体健康的
结果 无声卡
达发 系统软件设计
D 104主动投履历
D+8 人资确认面试时间
D+18 视讯面试
达发是两家联发科子公司(络达、创发)合并,面试主管是M来的
自我介绍后,主管针对修课问很多问题,大部分是计算机结构、作业系统
(问了Pipeline hazard, Memory coherence, Race condition)
每个问题我答出来之后,还会一直深入问下去
印象比较深的一题是谈到shared memory会有race condition的问题
我解释完race condition如何解决后,主管分享他的画面
给我看一段sample code(两个function都对同一个变量(a)++)
问我这样会不会有race condition的问题?
我答:要看这两个function会不会concurrent的执行,还有++是不是atomic的操作
主管问:如果a++要设计成atomic,用assembly要怎么写
这边我只答得出来a++的assembly,主管跟我解释后就继续问其他的东西
后面的问题也都是这种模式,我答出概念后都会再往下深入
过程中感到主管技术非常强,功底非常扎实,任何不确定的地方都会被他察觉
经过大约一小时的问答后,考一题基本程式题,顺利写出后结束问答部分
接下来主管问一些人格特质问题、介绍工作内容、闲聊
聊了满多他的工作心得、部门状况、他以前在M带过的新人...等等
最后我针对工作提问后就结束面试,总共约2个小时
主管最后的反馈是,他觉得我面试准备得很完整、理论观念很清楚
但他比较有疑虑的点是:我没有什么实作经验,还有抗压性的问题
这次面试是难度最高的,学习到很多,也了解到自己的弱点在哪里
像是主管提到的实作经验,我自己对于OS的理解都是只有看书或是听课
并没有实际去看OS底层是怎么实现的,或是做一些嵌入式相关的project
很感谢这位面试主管。
结果 无声卡
心得
经过这些面试之后,自己的体悟是找工作很看运气
当然个人能力还是占大部分,但有太多自己没办法控制的因素
也许自己会的东西,跟那个职缺工作内容无关
或是主管想找马上可以上手的即战力...等等各种千奇百怪的原因导致被刷掉
回顾这一个多月的面试,大致上还算顺利,考题大部分是基本题
遇到的人资、面试官态度也都非常良好,有的面试官客气到我都有点不好意思
还有一些问题事后回想,觉得自己答的爆烂,也没有被当场洗脸,真的是运气非常好
谢谢这次面试之旅的所有人,让我学习到许多课本学不到的经验
人生中每次相遇都是一种缘份,感谢上天的安排。
作者: michelle0308 (michelle)   2021-09-09 10:42:00
谢分享
作者: shorty696820 (虹彩弟弟)   2021-09-09 12:05:00
想问陈教授OS的课是哪部分听起来比周教授顺吗最近才刚开始看 感谢原Po解答!!
作者: smalljacky03 (小小迷糊虫爱捣蛋03)   2021-09-09 13:21:00

Links booklink

Contact Us: admin [ a t ] ucptt.com