作者dryman (dryman)
看板Oversea_Job
标题Re: [北美] 美国拿第二个CS硕士or台湾硕士硬上
时间Wed Dec 12 08:04:22 2012
: → mud2008:我只想说.对方要你给O(n). 你给 O(nlogn).你在答非所问吗 12/12 02:24
: → mud2008:你要解要马O(n)或更快的time complexity. 不是给更慢的解. 12/12 02:27
还是认真回一下好了
如果那三个题目是你现场碰到的题目,你的最佳解最好不是你不熟悉的演算法
而是你已经很熟练可以写出,而且不容易有bug的程式
例如array类型的程式,大部分都先丢个q_sort
你一边熟练的在白板或线上考卷写,一边说明为什麽要q_sort
绝对比你站着苦思强很多
同时,一边写的时候後面的解法也容易慢慢浮现,至少可以猜出大方向
例如第二题
sort後,x<y<z
锁定x, y指针与z指针从左右两个方向推到中间,其实就是正解
y, z 加起来最多只有n,乘上x就是正解了
但两个指针逼近只是我灵光一现,现场如果对这没把握,应该先写自己确定的解
然後再说自己觉得可以解的方向,问别人愿不愿意让你试试看
有时候你会想出别人没意料到的答案,例如第一题
使用data pool来serialize
data pool是最近在爬source code时发现的一招
因为自己有临摹写过,所以一看题目马上就可以写出来
但这不一定是面试官想看的东西就是了... :P
写这种答案风险很高,不一定每个人都喜欢怪招
所以还是要对正常写法有概念
我的写法是偏重怪招,正常写法只有略题
这可以看现场来决定怪招正解要放的比例是多少
线上考试时你可以问面试官问题,看他比较想看哪种解
(我遇过的都还是想看正解)
不过,你可以用嘴巴跟他讲怪招大观念,通常别人也会买单
最後,要很熟悉自己的主要开发语言
适度的调用内建function可以呈现你对程式语言的熟悉度
像是libc里面有regex,不去翻gnu libc文件根本就不会知道,因为学校没有教XD
而且这regex用起来还蛮简单的,让我很意外..XD
libc实际上还有给一个内建的hash table!但不是reentrant function所以不好用
非常的鸡肋... = =
希望以上的分享有帮助
祝大家面试顺利
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.45.171.118
1F:推 sunts:推 12/16 00:40