我是搞streaming server的,最近一直在面试别人。不过周日有公司电话面试了我,虽然因为一些原因我应该不会过去(工资高出大截还是可以考虑的吼吼),不过我觉得面试也是一个检验自己的机会,对于工作而言,在特定的时间需要的知识是比较狭窄的。同行业公司的面试,可以看看自己的知识结构是否有需要加强的地方。
首先都是一些基本的问题,首先是linux下的一些操作,我发现自己虽然经常trace现场和sit的问题,但是某些操作还是不是很熟悉,比如和用户权限的操作,因为大部分时候都是用root,这方面的知识可以说很少。说开去,(他们没有问)对于Linux/Unix的用户权限模型也是一知半解,需要系统的看一遍《UNIX环境高级编程》那本书。
然后网络方面的一些基础知识,我自认为在TCP/IP编程方面还是不错的,也解决过很多的性能和环境问题,一些OPTION参数很了解,一些7层协议比如FTP什么的问题我还答得不错,但是这次面试还是发现了一些问题,比如子网段的地址没有算对,我考这个太基本了。对于组播的地址等也不熟悉,以前看《TCP/IP详解》第一卷,光看TCP的实现了,其他的一些更加基础的东西必须可以记得更牢才行。
他们居然还问了RAID方面的一些东西,不过我们的文件系统是自己做的,说句实话RAID理论很清楚,他问了一些硬件RAID设备的知识,回答是否正确我就不知道了。
然后问了RTSP/RTP协议的一些东西,这些是做streaming的基础,我虽然不做这块,但是看来是需要加强的。
MPEG知识的话,我基本为0,其实手上还是有些不错的资料的,得好好看看,虽然streaming server只需要发发包,编解码的不要太管,但是一些系统层的要知道点。居然还问到 RTP vs TS , 呵呵。
他们还问了一些solaris的问题,太过底层了,没有搞过,这个答不上来也就罢了。
觉得需要加强的地方:
1. 毕竟没有系统的学习过linux/unix编程,虽然掌握了不少的高级技巧,但是某些基本的地方还不够扎实
2. 网络而言,TCP/UDP的编程差不多了,但是一些基本的子网的知识需要加强一下,总之第一卷要看仔细
3. MPEG / RTSP / RTP 需要多知道点,弱项啊
4. 一些高级技术,比如32位系统访问超过4G内存的,我只是知道是LVM(不是卷管理的那个),技术细节还不清楚啊!我也奇怪他们的开发怎么搞的这么杂?
-------------------------
后记:隔了很久没有下文,以为我被刷掉了,虽然开始只是应做猎头的朋友之情去面一下,但是被刷还是难免有些打击自尊心。不过前天又再次电话过来,原来只是流程较慢而已:>
可惜,最近的诱惑太多太大,该公司虽然还算不错,还是拒绝吧