[闲聊] interview 心得

楼主: DarkKiller (System hacked)   2014-07-31 05:05:17
这篇要讲的不是面试者,是以面试官的立场写下一些心得。
7/28~7/30 到南部去面试,排了 21 个人,有 4 个放鸟所以只面试到 17 个
人,大多都是网站后端相关的职缺,也有一些 API Engineer 与资讯系统的职
缺。
这次面试都是从 104 上找,以大学或硕班新鲜人为主。只要符合这些条件我都
请我们家 HR 联络来谈:(是 OR 不是 AND)
1. 有 Programming 工作经验。
1. 刚毕业/退伍,资工/资科/资管毕业。
2. 刚毕业/退伍,有任何资讯相关的作品。
3. 刚毕业/退伍,自传写得还可以的。
挑履历的标准应该是不算高...
我 interview 的习惯是一律从面试开始,先说明投的这个职缺要做什么事情,
然后跟面试者先确认这是不是他要投的职缺。
(因为偶尔会遇到投错职缺的,确认后可以省下大家时间...)
接下来就是问一些工作上会用到的技术相关的问题。以网站后端、API
Engineer 以及资讯系统来说,因为主要都是跟数据库有关,所以大多都是先从
数据库起头开始问:
* 请列出 RDBMS 里的 JOIN 有哪些。
答案可以参考 https://en.wikipedia.org/wiki/Join_(SQL) 这边。
大概有一半的人一个都答不出来,可以讲出的人我会要他说明他列出的 JOIN
在这种图的表示法:
https://i.imgur.com/7BIsxZn.png
各种千奇百怪的答案都会出现 XD
* 请说明数据库里 Transaction 是做什么的。
答案可以参考 https://en.wikipedia.org/wiki/Database_transaction 这
边。
大概也是有一半的人会回答“不知道”,有蛮多人以为 transaction 就只是
Atomic 的特性。
如果大概还讲的出东西来的我会再问 ACID 的四个特性。
关于 ACID,可以参考 https://en.wikipedia.org/wiki/ACID 这边,不过只
有两个人有被问到 ACID,其中一个只答得出 AC,另外一个对 CID 都用掰的。
* Primary Key、Unique Key、Index Key 的差异
已经是比较偏实务上会碰到的议题了,不过超过一半不知道差异。甚至会说
他之前的工作用不到 Index Key... XD
可以参考 https://en.wikipedia.org/wiki/Database_index 这边,不过维
基百科这边的资料比较偏学术上的说明。
* 数据库的“正规化”做了什么事情?解决了什么问题?
也大约是一半的人答不出来。答得出来的我会问 1NF 做什么,然后所有人都
在这题挂掉...
参考 https://en.wikipedia.org/wiki/Database_normalization 与
https://en.wikipedia.org/wiki/First_normal_form 这边。
这些数据库理论是工作上比较会碰到的东西。我不太喜欢问 SQL 语法怎么下,
主要是因为这些语法各家都不太一样,真的用到时查一查就好了。而观念的东
西才是难教的,interview 的时候问这些鉴别度还算高...
接下来我会问一下资料结构与算法的东西:
* Stack 与 Queue 的差异?
热身用的题目,大多数人都答的出来。不过还是有唸了四年资工的人说不出
来,让我囧在那边...
* Priority Queue (Heap) 是什么?
有些人是“听过,但忘记了”,有些人是完全没听过,基本上就是都不知道...
* Tree、Binary Tree、Binary Search Tree、Balanaced B.S.T. 的差异?
意外的是大约一半的人不知道 Tree 与 Binary Tree 的差异,就更不用说后
面这几个的差异了...
可以把四个资料结构的差异都讲出来的有两位,我就问了 AVL tree 与 RB
tree 的差异,然后就挂掉...
* QuickSort 与 MergeSort 的差异?
这两个都是经典的算法,不论是学校还是职场上都会花很多时间教或是用
到的经典算法。
两者的差异随便列出来应该就一堆,不过情况比想像中的有趣...
像是 O(logN) 的 QuickSort 与 O(N) 的 MergeSort。或是把 BubbleSort
当作 MergeSort 在讲...
如果面试者不知道要从哪里开始的话,我都会提示“时间复杂度”会是一个
方向。不过都答不太出来...
有好几个面试者都有提到 Divide-and-Conquer,然后被我反问哪一个是
Divide-and-Conquer 哪一个不是?
然后我有时会要求用手写一些程式 (不限程式语言,也不需要 include 之类的
步骤,重点有表达出来就好):
* 九九乘法表。
请不要小看这个题目.................................................
* isPrime(n)。
* GCD(n, m) 与 LCM(n, m) (最大公因子、最小公倍数)。
死亡率还是很高的题目。
讲一下心得好了。
我 interview 的习惯是问到答不出来为止,这样我才会知道会多少东西。通常
都是从基础的东西开始问,而蛮意外的是,大多数人都会死在起跑点...
本来 Programming 的东西还打算考 Eight Queen 之类的问题,不过后来还是
下修再下修...
另外一个我还蛮喜欢问资工毕业生的问题是,“你都唸了四 (六) 年的资工,
知道资讯领域最高奖项是什么吗?”
还蛮意外的是大多数人都不知道 :p
https://en.wikipedia.org/wiki/Turing_Award
最后问一下,有人要投履历吗?
作者: Eos (美丽时光)   2014-07-31 05:26:00
其实你问东西的很多台湾业界根本用不到 更别说应届毕业的了...刚考完研究所的应该可以回答出你大部份的问题 但那是你要的吗
楼主: DarkKiller (System hacked)   2014-07-31 05:42:00
会用不到吗?我们的确全部都会用到啊?
作者: lovdkkkk (dk)   2014-07-31 06:18:00
我觉得这些是工作越久的可能越答不出来每一项我都曾经很熟, 算法的全都推过并用 ANSI C 写过但刚一看还是很多忘了...只要复习一小时就能全回来吧 @@
作者: mrforget (财去人安乐)   2014-07-31 06:25:00
面试两个多月,除正规化没被问过,其他都被问过。心得是能被仔细的面试是一种福气。
作者: idleidle (格物致知 温故知新)   2014-07-31 06:35:00
资工所不考DB,DB确很常用.DS+算法,挑好学校的硕班,答得出比例应很高不过 这篇是征才文无误.XD
作者: shizeng   2014-07-31 07:23:00
用不到index key,蛮怪的!
作者: ichico (细雪。)   2014-07-31 07:25:00
我觉得transaction的ACID最常用到的的确是A啊XD那三个Key还有Join是蛮常用的,但Join常用的也就那三个吧我是真的很少用self join XD然后一看发现我算法真的忘了耶 只用高阶语言的缺点
作者: guitaryuan (guitaryuan)   2014-07-31 08:04:00
这样问法是需要即战力吗?
作者: manlike ( )   2014-07-31 08:19:00
薪水多少?
作者: ccpz (OoOoOo)   2014-07-31 08:43:00
推DK
作者: bndan (seed)   2014-07-31 09:26:00
DB部份其实不一定(有些系DB非必修)但下半部答不出来就....嗯另外"刚退伍".这毕竟也可能是问题 ~_~
作者: chrisyanglom (澎澎)   2014-07-31 09:31:00
数据库都不会,可是资结算法应该都答得出来OK吗XD
作者: yyc1217 (somo)   2014-07-31 10:12:00
如果是我就准备一台笔电在旁 当场答不出来就GOOGLE给我看能下对关键字google到答案就ok
作者: kaitokid2 (蔚蓝)   2014-07-31 10:14:00
刚修完资料结构可能可以答不少出来,当完一年兵保证忘光
作者: hSATAC (cAt Ash)   2014-07-31 10:24:00
崩溃~~
作者: a83294 (马岱)   2014-07-31 10:24:00
我觉得对于一般大学生,刚退伍叫他们回答这个太不人道了XD
作者: fowei (小维)   2014-07-31 10:25:00
像我都只是一知半解. 但给我google我就可以找出解答我个人觉得除非工作属性需要即时. 不然其实这些用到不多就像index key, 我知道, 但不太熟. 当有TABLE变慢时. 我会想然后去google, 暸解加快 query的方法.. 就会了. 大概半小时
作者: gohpx (懒得想)   2014-07-31 10:32:00
这些问题超熟的..我大概知道D大是何人了...不过这些问题..回答不出不代表不会用..但会讲会用才是好的吧
作者: oneheat (等待)   2014-07-31 10:53:00
好难,全部都不会怎么办??最有趣的是,我确定考研究所的学生应该都很会
作者: manlike ( )   2014-07-31 10:57:00
而且 Priority Queue 和 Heap 不一样~
作者: gohpx (懒得想)   2014-07-31 10:57:00
让人能上网查 那些问题有经验的也都不太会是问题
作者: descent (“雄辩是银,沉默是金”)   2014-07-31 10:58:00
要问倒人真的太容易了, 找本面试书的题目就够不知道你怎么挑人, 那些人的特质你会选他
作者: manlike ( )   2014-07-31 10:59:00
只不过 Priority Queue 通常用 Heap 实做出来
作者: descent (“雄辩是银,沉默是金”)   2014-07-31 10:59:00
应该不会是只有答出正确答案的人
作者: oneheat (等待)   2014-07-31 11:03:00
以tree为例,问那么多tree的差异干嘛?我都是问他知不知道XX tree,不知道的话会稍微介绍一下,再出个应用题,问他这种case,用哪一种tree好,理由在哪
作者: frank11118 (想睡觉)   2014-07-31 11:08:00
我物理系资结算法都能答了
作者: yyc1217 (somo)   2014-07-31 11:11:00
我觉得现在比的已经不是谁记得多 而是谁找得快
作者: yseric (不会赚钱的小屁孩)   2014-07-31 11:12:00
最高荣誉有另一个叫Jolt,是best book
作者: MIKEmike07 (加油!)   2014-07-31 11:23:00
推推DK大
作者: a926 (Aaron)   2014-07-31 11:28:00
只知道一些..不过db的部分.我也是db query变慢才会调效说
作者: noonecanstop (篮球梦)   2014-07-31 11:36:00
资工系学生可不像你一天八小时都在做数据库
作者: KASUGAOSAKA (小步)   2014-07-31 11:40:00
面试前的确要温习算法,没温习一定挂
作者: edward13 (-_-)   2014-07-31 11:42:00
惨了我嘴巴都回不太出来 只能用code的出来怎办
作者: robler (章鱼丸)   2014-07-31 12:28:00
刚考完研究所的时候都答的出来,现在只答的出来一半吧
作者: andymai (人生只有一次)   2014-07-31 13:06:00
数据库改用 redis 惹~已哭 Q_Q
作者: ia ( )   2014-07-31 13:33:00
可以听到一些面试官的声音..加分惹
作者: enthos (影斯作业系统)   2014-07-31 14:29:00
都忘光了。跟想像的后端不一样。
作者: fantasysea (Jarvis)   2014-07-31 14:37:00
像学生时期的期末考题, 面试时我应该会被电惨惨XD
作者: OnlyRD (里巷人)   2014-07-31 14:38:00
真的蛮用心的面试,但的确不是每个业界都会用到。有些强者工作几年都没碰过这些的话,猛一问搞不好还真问倒但是你是面试新鲜人,CS毕业生不懂的确比较奇怪。
作者: einhander   2014-07-31 14:49:00
你们公司不能上网?还是都在考试?
作者: jack0204 (Jarbar王朝)   2014-07-31 15:22:00
我刚毕业DB没学好,都在写C的驱动程式跟Linux系统现在改写网页,很多都用过但名词很多不知道
作者: luciferii (路西瓜)   2014-07-31 16:14:00
像研究所考题+1 XD
作者: Twinkling (哈囉)   2014-07-31 16:36:00
我们现在找人看的都是 个性态度 >> 这些专业能力当然完全都不知道也是不行 不过个性真的很重要就是这些东西要pick up起来 根本一两周就可以了但是个性跟态度则是决定了根本上的差异....才是关键所在
作者: knt (keep going)   2014-07-31 16:45:00
推楼上,个性态度真的比较重要...这东西没办法pickup阿
作者: pennymarkfox (潘尼老狐狸)   2014-07-31 16:49:00
还真的都忘光光了耶
作者: enthos (影斯作业系统)   2014-07-31 16:49:00
联想到这一段 game.163.com/special/news/gushihui025.html他一题未答,大笔一挥,在卷子末尾写了“慢慢聊”三个字面试官一拍桌子,“你比我强!我给你提比我还高的工资!”
作者: bobju (枯藤老树昏鸦)   2014-07-31 17:48:00
当年我准备研究所考试时,这些程度都题目都算小case; 但现在再看, 超过一半的题目我都没把握能够答得令考官满意像高中联考一样,当年考上第一志愿,现在去考恐怕连倒数第一志愿的没把握,太久没用上早就都生疏掉了
作者: DrTech (竹科管理处网军研发人员)   2014-07-31 18:43:00
所以直接看学校名称,与成绩单就够了,根本不用浪费时间验证别人升学题目准备得好不好。
作者: petingo (皮挺哥)   2014-07-31 18:44:00
可以问一下最后录取几个&他们大概答了几题吗??
作者: PTT007 ( )   2014-07-31 20:19:00
知道最高奖项是什么有比较厉害吗 你拿过是吗
作者: Beard5566 (有礼貌的胡子五六)   2014-07-31 21:14:00
大部分的题目没经验的新人答不出来很正常,其实你只是想看看能不能中大奖
作者: nypgand1 (祈附‧征前御祭)   2014-07-31 21:30:00
被原 po 面试过推
作者: AndyLeo (打败超越一切的人)   2014-07-31 22:20:00
DK大大出现了~~~~~~~~~~~@@"
作者: s910 (s910)   2014-08-01 00:06:00
DS那边还好 有复习ok
作者: norlan17m (又得等三个月)   2014-08-01 00:10:00
这刚毕业或考完试才容易记得吧,业界多年没用早就忘了其实你就拿研究所考题给他们就写好了,也不浪费时间问
作者: leicheong (睡魔)   2014-08-01 07:53:00
ACID的事我看很多, 但突然问的话我也是问不出来呢. :P
作者: alexlucifer (你管我叫啥)   2014-08-01 11:54:00
靠腰~某些我也回答不出来,愧对我的工作经验了~Orz
作者: j87b0003 (I'm 邱老虎)   2014-08-01 12:39:00
我被问过銲接后的变形处理方式(灿笑
作者: jack0909 (csimiami)   2014-08-01 13:40:00
资工不一定有教DB 而且专案也不一定会用到DB
作者: AmosYang (泛用人型编码器)   2014-08-03 02:16:00
资讯领域最高奖项 = 被人用数亿美金收购 :D
作者: cooper6334 (库波)   2014-08-03 23:01:00
考研究所的时候都会,之后再也没用到过直到现在工作快一年了我说资料结构的部份
作者: wooie (lizwooie)   2014-08-03 23:23:00
我大三,能答出八成==那我可以直接去工作了吗XD

Links booklink

Contact Us: admin [ a t ] ucptt.com