你想加入什么公司,与你学的是什么计算机方向关系不大。只要是理工科的学生,面对技术职位的机会其实都差不多。至于你想要什么职位,显然和你的专业/方向有很大关系。比如很多大数据职位,明明要求你有DM/ML/NLP/IR背景,但这仅仅意味着这些同学可能更有优势一些,其实很多有数学和统计学背景的人都很好在这样做。所以,不要问选择什么导师,选择什么方向;而且别问我实验室很差,老板很好,我还能找到好工作吗?你想问的是:我想毕业去一家互联网公司。读研到底是吃酱油还是吃地沟油?想要找到一份好的互联网技术和研发工作,需要遵循以下4点。你可以选择一个,如果你做得好,那将是有益的。哪4点?语言层面算法层面项目层面专业层面具体分析如下:语言层面是要做C++还是Java?选择语言后,阅读更多关于它的书籍。C++,就不用多说了,《Effective C++》,《More Effective C++》,《Inside The C++ Object Model》等等。Java的话,最好看看虚拟机相关的东西。尤其是Java虚拟机的内存管理。还有多线程、线程池、设计模式等等。问题来了:学C++好还是学Java好?语言辩论每天都在发生,真的很无聊。建议根据方向和兴趣选择。不靠谱的说法是:如果要做大型游戏开发、底层开发、系统开发、驱动开发等,就选C/C++。如果你想做网站开发、网络开发、上层开发、Android开发等,就选择Java。顺便说一下,有时间可以学学Python。在算法级别学习算法。有两种方法可以做到,最好是并行的,那就是看书和做题。阅读方面,主要有《算法导论》、《算法》(罗伯特·塞奇威克着)、《算法竞赛入门经典》、《挑战程序设计竞赛》找书仔细阅读,仔细思考。证明过程可以不看,但是最好理解算法思想并实现,最好写在纸上。你一定知道它的复杂性,对吧?我在研究第一年的时候,自己在算法导论里写了很多算法。尤其是复杂的数据结构,比如红黑树、B树,没有时间就不要做了。一般不需要网络面试。主要是排序,搜索,简单DP,贪心,图算法和搜索。根据我身边同学的面试经验,二分查找和快速排序总能用于面试。看书的时候,如果有时间,可以思考几个问题:这个算法的时间和空间复杂度是多少?如何分析?项目实施有哪些技巧?如何加速?这个算法可以用在什么地方?有哪些应用?例如交集算法在倒排索引、新浪微博共同关注、Jaccard系数的计算等方面都有广泛的应用。除了看书,还有一件很重要的事:写题。主要有poj、zoj等。找个网站,仔细看一些问题,脚踏实地,不要浮躁。项目层面,如果实验室好,忙项目基本够累;但是做一个比较厉害的项目,对于找工作还是很有帮助的。基本上没什么好担心的。老板这里没有项目怎么办?如果实验室比较水,尽量多练习。在大公司的实习经历对你的简历来说是一个很好的补充。如果老板不让你出去实习。好吧,既然实验室里装满了水,那就意味着空闲时间多了,我还是可以做很多事情的。比如github上有很多开源项目。可以选择一两个比较有名的,阅读源码,然后自己尝试参与其中。先说几个我比较感兴趣的开源项目:redis,spark。专业层面,精通数据挖掘,熟悉推荐系统。你在NIPS和SIGIR上发表了无数论文;你是百度推荐大赛和阿里巴巴大数据大赛的常客。也就是说,除了努力发表顶级会议论文,还可以参加各种比赛。本专业、本领域可以参加哪些比赛?搜一下微博或者知乎,或者问问兄弟姐妹,你不知道吗?专业上,可以做的事情太多了。比如你对数据挖掘很感兴趣,那么我们对数据挖掘中常见的模型了解多少呢?我们对机器学习的掌握程度如何?比如:SVM和逻辑回归这两个模型的特点是什么?它们适用于哪些地方?特征选择的常用方法有哪些?为什么lasso可以作为特征选择?为什么Adaboosting不容易过拟合?你能从统计的角度解释一下吗?哦,你告诉我,你不搞学术研究,你不喜欢学习理论,你说你是工程师,你写了多少代码?scikit-learn、weka和spark,你会使用哪个工具?(熟悉一个工具)你有没有下载过一些数据集,自己跑过实验?你参加过大数据相关的比赛吗?(动手实验/参加比赛)在专业层面,能做和做的事情还有很多。呵呵,最好熟悉linux的基本使用。最后,如果你读研的时候能做到这里的一个点或者几个点,那你连《编程之美》、leetcode都不用看,也没什么压力。最后说点个人感受。算法大牛,项目大牛,帅气,精通多国语言,这样的人很少见。也就是说,如果你想拿到一个好的offer,一般只需要突出一两个点就可以了。网络面试,除了个别公司的个别面试官,一般都要考察(examination?investigation?这两个词有什么区别?investigation是research,research,analysis的意思)算法。你在research的第一年准备的时候,看书做题,总比research的第三年死记硬背好吧?再说了,算法的学习不只是为了面试吧?可能是终生受益。或者,吹牛皮、撒娇也是可以的。不要只说我要去某家公司。到时候,你会发现,选择的余地比你想象的要多。也有可能比你想象的要少,为什么呢?就看你有没有按照我上面说的去做了。
