面试了两个多月
经历许多无声卡后
终于有公司发 offer
取之ptt,回馈ptt
因此发一篇心得文
这篇N=45
背景:
非纯血113资讯硕新鲜人
在学校的时候有接过一些案子
不过跟应征的职位没什么关联
准备:
[ Leetcode ]
刷了30题左右
Tree, linked-list, BFS, DFS, DP
都刷了一些
主要熟悉一下解题的逻辑
[ 背景能力 ]
算法,OS把大学时候的讲义拿出来看一遍
资料结构刷题的时候大概都复习完了
职缺:
Product Developer
过程:
[ 一面(透过Skype) ]
一面的时候有两个工程师面我
由于是线上面试
因此著名的白板题改为线上编辑器(需要分享萤幕)
两位主管让我做简单的自我介绍
以及问一些他们对我之前专案的问题就开始考程式了
第一题是动态规划的问题
刚好出到我刷过的题目
直接就写出最佳解
面试的主管让我解释一下我的逻辑后
表示我一次就解出最佳解了
所以再出一题
第二题是是字串反转
我第一个想到的是stack的方法
主管就跟我讨论复杂度等问题
以及queue跟stack的差异
问我有没有其他方法
我提出swap的方法
解释一下复杂度,就通关了
第二位主管考了linked-list的问题
问了linked-list的特性
白板考两linked-list相加
一开始我用traverse的方法解
后来他问我能不能写成递回
写出来后问我两种方法上的差异、优缺点
回答完,进到下一题
这算是特殊题型
一连续数列,打乱,并被拔掉一数
那要怎么找到是哪个数被拔掉
一开始我提出先排序后检查的方法
回答时间复杂度
他问我有没有O(n)的方法
我挣扎很久表示想不到
后来主管给予一点提示后
我才顺利解出
延伸问题:若数列相隔2可不可以解?
对了,白板考考试的同时
主管也在我解题的时候顺便问了一些os的问题
(是在测试多工能力?)
以及网络相关的问题
我回答的都还算完整
顺利通过一面
[ 二面(到公司) ]
一开始是由hr面谈
自我介绍后稍微问了之前做的专案
以及经典hr考题
再来是未来的主管
简单的自我介绍中
他就提出了很多问题
在专案中可能遇到的麻烦他都有指出来问
问我有没有遇到,以及怎么解决
如果对之前专案不熟可能就会被问倒了
之后问我物件导向程式设计熟不熟,C/C++熟不熟
我坦诚已经有三四年没碰了,但有基本概念
大学的时候也算常用
他让我依照他的要求写个class的架构出来
好险我有讲到关键的继承概念
算是过关
白板题写bubble sort
分析时间复杂度
后来就是闲聊
说有什么问题都可以问
大概聊了一下团队现况
以及最常要处理的问题是什么
顺利通过这关
最后的大主管面试
大主管跟我说了一下公司的沿革
目前的发展
我待的团队做的工作等等
并说明薪资福利
问我能不能尽快回复 offer
因为很多人拿着offer不回
他很困扰
就结束了面试
总结:
总结来说群晖非常注重大学时期的背景能力
基础程式能力要有
但更注重的是知道自己在写什么
以及别人给的提示能否听懂
薪资不是以前看板上说的低底薪了
这点满加分的
结果:
Offer Get
(N+25)*14+分红