[面试] 研替心得 (群晖)

楼主: rod24574575 (天然呆)   2015-11-08 19:28:57
我是在承德路那边面试的
刚报到后就被带到一间小会议室
简单的填了基本资料表后
等了10几分钟就开始面试了
==============================================================================
第一关:
首先是请我自我介绍一下
之后就是问履历中有写到的一些事情
或是根据做过的project或专题来问实作方法等细节
接下来就是开始连续问各种专业问题了
1. process 和 thread 的差异?
2. Mutex 和 semaphore 的差异?mutex 如何实作?
3. TCP 和 UDP 的差异?
4. TCP 的传输机制和 ACK 是如何运作的?
5. 有没有写过 multi-threaded 的程式?对 multi-threaded 的概念了解程度如何?
6. process 的排程方法的种类和运作方式?
7. shared memory 是如何实作的?
8. 要计算 set A - set B 的话,要用什么资料结构?时间和空间复杂度为何?
有更好的方法吗?
再来则是考白板程式题
1. 写一个用来 reverse linked list 的函式
这一题应该算是偏简单的考验指标用法的linked list题
个人是用3个指标对list从头到尾处理一次就完成了
写完后先在脑内带入几个小测资确定一下有没有bug
之后换面试官人脑compile和验证后
面试官就请我稍等一下后出去了
在等待第二关开始的空闲时间
我有试着稍微回想一下刚刚被问到的题目和自己的表现
可能是因为第一次面试所以表现得有点紧张
有几题明明我其实应该是知道要如何回答的
但是当下却突然想不太出来或是回答错误
让我感到有点懊恼
所以第一关我个人是觉得表现得差强人意而已XD
==============================================================================
第二关:
首先一样是自我介绍一下
再来也是问履历或是做过的专题或project
然后又是专业问题时间
1. 如果是我会如何去实作 mutex?
2. process 和 thread 的差异?
3. socket programming 的运作机制?
4. TCP 的 3-way handshaking 机制?
5. 介绍 OOP 的概念 (继承和多型)
6. static 放在不同位置所代表的意义?
7. Majority Element:假设现在有一个 integer array,里面有一个 integer 出现次数
超过1/2,请问该如何找出这个integer?此方法的时间和空间复
杂度为何?
再来则是考白板程式题
1. 写一个可以判断 linked list 中是否有 cycle 的函式
可以用俗称“龟兔赛跑”的方法去实作
也就是用2个指标:一个一次走一步、另一个一次走两步
如果撞到的话就代表有cycle
走到NULL的话就代表没有cycle
2. 写一个可以找出 binary tree 从 root 到 leaf 的最短路径的函式
直接用BFS应该就可以轻松解决了
面试官看了看没什么问题后
就直接送我出去结束第一天的面试
回到家午睡途中就接到人资来电约二面时间
==============================================================================
第三关(伪):
进来的是人资姊姊
大概问了一些非专业上的问题
像是为什么要来面试群晖之类的
还有就是兴趣或其他人格特质的问题
可能是想要看回答和反应来判断我的个性之类的 (?
反正就都照实回答就好了
所以其实没什么压力XD
==============================================================================
第三关(真):
首先一样还是自我介绍
再来也是介绍一下做过的专题或project
之后是短暂的问题时间
1. process 的 schedule 方法介绍?如果是你会使用哪一种?
2. 说说看你修过的所有课中,那些课让你觉得很有趣或是印象深刻?
不过既然问题问比较少
那可想而知主力应该都放在白板程式题了
1. 给定递回式:a_n = 3 * a_(n-1) - 2 * a_(n-2), a_0 = 1, a_1 = 2,
写一个回传 a_n 的函式
一开始我很制式的用DP的方法去算出答案
但是面试官就问我有没有更好的方法呢
后来稍微观察一下 a_n 的规律就发现 a_n = 2^n
所以其实可以很直接的就回传答案
2. 给定一数字 N,写一个函式去找出并回传相加后等于 N 的“长度 L 的连续数字”
最直观的答案就是“从 N 开始的长度 1 的连续数字”
不过这一题答案不只一种
通式的话应该是写成如果 N 被奇数 M 整除的话
就会有“以 N/M 为中心的长度为 M 的连续数字”这个答案 (M=1时就是最直观的答案)
也有“以 (M-1)/2 和 (M-1)/2 + 1 为中心的长度为 (N/M)*2 的连续数字”这个答案
这一题一开始其实我是没什么头绪
后来经过面试官稍微提示才慢慢找出所有可能的答案
PS. 有点忘了当初的答案了,这题答案不太确定是不是这样写XD
3. 写一个对 matrix 旋转 90 度的函式
可以用2个for循环去一次旋转4个elements
只要稍微注意边界条件和各elements的位置
这题应该就可以轻松解决
==============================================================================
第四关:
终于到传说中的主管关
主管就问我有没有什么东西想问的
我就问了公司有哪些team之类的问题
之后主管看了我基本资料表写的期望薪资就说可以给我这个价钱
然后说等等要开会所以就这样直接结束面试吧
结果:offer get
==============================================================================
总结:
之前有些心得文说面试经验不怎么愉快
不过可能我运气比较好
遇到的面试官们都很和善
遇到不会的白板题也会适时给予提示或引导思考的方向
在我回答问题时也会认真的边听边作笔记 (应该是记录我对这方面的熟悉度之类的)
整体来说面试的感觉颇不错
==============================================================================
准备方向建议:
1. 资料结构:
不需要会什么太高深的资料结构
只要能清楚理解基本的资料结构就好了
像是linked list、tree、stack、heap、queue、hash
尤其是linked list、tree、stack更是一定要熟悉各自的用法和优缺点
2. 算法:
如果以前有修过相关课程的话
还是建议拿出来重新翻一下
虽然我其实只有被考到很简单的几个算法
但是之前的其他心得文好像有些会被考到稍微深入一点的概念
所以还是念一下会比较保险
3. 作业系统:
主要考的部分还是process和thread的相关概念
但是偶尔也会考到其他部分
像是我就被问到排程的相关问题
基本上还是建议把课程投影片拿出来复习一遍
如果时间不够的话也可以只全力复习重点
4. 计算机网络:
之前没看过有心得文提到会考到计网相关的部分
不过我还被考到蛮多题的
所以保险起见可能也是要复习一下
范围看起来主要是围绕着TCP和UDP
所以一样时间不够可以只重点复习TCP和UDP的部分
5. 物件导向程式观念:
完全没学过的话一定要好好恶补
之前学过的话大概就稍微复习一下多型和继承就好了
其他部分只靠平常的印象应该也可以轻松应付
6. coding
这部分主要还是要靠平常累积下来的基础
而面试前复习的话则是靠LeetCode
我个人是因为还算喜欢写这种解题型的程式
所以当初一面前的一个礼拜就开始写
总共写了90几题左右
一面和二面之间的空档又再多写了30几题
不过其实我觉得顶多只需要把easy的题目都写完就好了 (刚刚数了一下大概67题)
如果能不看Discussion就把easy全部解决
我是觉得白板程式题部分应该真的很稳了XD
当然如果时间不够的话也可以只在看起来会考的tag中各选几题来写就好了
因为大部分人应该已经很久没有写这种解题型的程式了
所以一定要至少写个几题找回手感和解题的sense
不然我觉得到时候很容易会在白板上犯一些小bug或少考虑到边界条件等
而且写code其实也算是顺便复习到资料结构和算法
==============================================================================
不知不觉写了好长一大串
有想到什么的话我再补充吧XD
作者: st930617 (宇)   2015-11-08 19:33:00
恭喜
作者: KobeEatShit (刘德鸿)   2015-11-08 19:35:00
认真专业 推
作者: jengmei (郑小妹)   2015-11-08 19:38:00
作者: naskate (QQ)   2015-11-08 19:45:00
强!
作者: A4P8T6X9 (残废的名侦探)   2015-11-08 19:55:00
推神
作者: kobe329 (poka)   2015-11-08 20:02:00
值得学习
作者: NCUking (中大王)   2015-11-08 20:06:00
leetcode easy部分没办法自己做出来的人应该很快就被刷准备到medium比较稳
作者: antiall (Hammer Smashed Face)   2015-11-08 20:17:00
太强了…
作者: csam11000 (csam11000)   2015-11-08 20:25:00
恩组好尊神 (拜
作者: flere (人间失格)   2015-11-08 20:28:00
你要写好多白板啊!我弱弱的总共才写两题而已就结束了XD
作者: clamperni (肥宅牛牛)   2015-11-08 20:30:00
噗噗
作者: flere (人间失格)   2015-11-08 20:30:00
阿错了我是三题XD
作者: jqpp3210 (碰宝贝)   2015-11-08 20:35:00
好强……
作者: orzx3 (卡哩)   2015-11-08 21:03:00
大大全部都写出来吗.....? 太神拉
作者: s860134 (s860134)   2015-11-08 21:05:00
真的有在练
作者: arcc   2015-11-08 22:22:00
太强拉
作者: dan714 (小one)   2015-11-08 22:41:00
恭喜原po!!不过这些问题对于有一两年工作经验得的人算简单吧…没必要神话,这个板上的学生真的这么多
作者: bluebluelan (新阴流大目录免许皆传)   2015-11-08 23:15:00
白板题大概都是leetcode easy的水准
作者: HOMEWA (回家的蛙)   2015-11-08 23:23:00
我必须承认 我都看不懂..
作者: longlongint (华哥尔)   2015-11-09 00:05:00
推认真
作者: s860134 (s860134)   2015-11-09 02:17:00
据内部消息指出 群晖目前RD team超过一半是研替?(听说的
作者: coolricky (ricky)   2015-11-09 11:20:00
专业的喔
作者: a3294814 (阿贤)   2015-11-09 18:16:00
不吝啬分享 ~推~
作者: wk7 (想再年轻一次)   2015-11-10 06:35:00
工作都是打杂的话,一两年经验之后反而倒退噜
作者: lammin (死鱼)   2015-11-10 10:00:00
GJ
作者: poloo5582 (小鬼)   2015-11-10 15:05:00
诺德大大怎么可以这么猛

Links booklink

Contact Us: admin [ a t ] ucptt.com