作者Mojear (得我反思)
看板NTUE-CS100
标题[分享] 资工毕业生应该要可以答出来的面试问题(转)
时间Wed Mar 16 11:37:24 2011
http://pesty.yichi.org/blog/2008/06/24/cs_interview_questions/
前阵子帮某公司面试实习生,觉得颇有感触。
我觉得,作为一个资工(Computer Science)的毕业生,有一些面试问题,会是像叫篮球球
员运球一样的基本。运球运得好的人,不一定可以变成 Michael Jordon,但是很难想像
Michael Jordon 运球会运不好。同样的,也有一些问题,如果毕了业还答不好,会掩盖
住你在其他方面的成就。
之所以写这篇,目的倒不是要写另一篇草莓文埋怨现在学生,而是希望能够唤起大家对於
“基本功” 的意识。有别於媒体上所宣传的,面试 Google 和微软,大多数的问题其实
并不是要你天马行空解题,而是问基本功。
所以我想稍微写一下我认为的基本功问题,也算是给还在念书的人一点参考吧。
如果你说你修过演算法/资料结构…
* 解释时间复杂度?空间复杂度?两者之间的关系?
* 请解释以下几种资料结合及运作方式: hash, heap, stack, tree
* 请提出一种时间复杂度为 NlogN 的演算法,并用你熟悉的语言写出来
如果你说你修过作业系统/计算机系统…
* process & thread 有何不同?
* 决定 cache 效能的两个指标?
* 什麽是同步化?要怎麽写?
* 什麽是 deadlock?要怎麽解决?
如果你说你会写程式…
* 什麽是 call by value?什麽是 call by reference?两者的优缺点?
* 写一个回圈来看看?
* 写一个递回来看看?
* 什麽是 function 的 signature?回传值能不能是 signature 的一部份?
* 什麽是 static function?什麽是 static variable?
如果你说你会资料库…
* 什麽是 normalization?为什麽要做 normalization?
* 解释 inner join, left (outer) join, right (outer) join
* table 为什麽要做 index? 举一个做 index 有用的例子和没用的例子?
如果你说你会 C/C++…
* 请搞懂 pointer
如果你说你会 JAVA…
* 请搞懂 OOP
如果你说你会 PERL…
* 请搞懂 Regular Expression
如果你说你会 PHP…
* 给你半小时应该要能生出一个 Hello, Pesty 的网页 (当然,Pesty 是 form
input 的)
如果你说你会 TCP/IP…
* 把下面几个服务依使用到的原理照 OSI 层排序: http, telnet, DNS, MAC
Address, ping, session, vpn
* 解释 class A, B, C, 和 class-less
如果你说你会 UNIX….
怎麽把 ls 的结果导到 /tmp/test.txt 中?
为什麽平常操作不该用 root?
-----有人要集思广益来写个答案嘛?XD-----
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.127.47.90
1F:推 chchwy:徵求勇者 03/16 13:45
2F:推 Markseinn:ls>>/tmp/test.txt。root是安全性考量 03/16 14:07
3F:推 Markseinn:Algo./DS/OS/计组的题目都是基本提,蛮好找的。资料库 03/16 14:10
4F:→ Markseinn:第二题看不懂XDD 03/16 14:11
5F:推 chchwy:TCP只好呼叫堂德大神了 03/17 01:38
6F:→ Mojear:什麽是 static function?什麽是 static variable? 03/17 19:49
7F:→ Mojear:听说这题常常被问喔@@ 03/17 19:50
9F:→ Mojear:可以参考一下~~ 03/17 19:51
10F:推 chchwy:一个是class scope 另一个是object scope 03/18 00:41
11F:推 NTU7:google才是最强的 03/18 10:51