代码改变世界

计算机IT求职学习List

2016-03-31 21:11  GarfieldEr007  阅读(615)  评论(0编辑  收藏  举报

1. 算法相关
1.1 《编程珠玑》
1.2 《编程之美》
这两本是最经典的了,这里面注重的是解决问题的思路,看的时候里面的问题要认真思考再参考解答。下面两本是对具体的面试题做一些解答,同时有详细代码实现的。
1.3 《剑指Offer》
1.4 《Cracking the coding interview》
上面这四本我觉得都是必备的,里面的题目解决思路要数量掌握,能够举一反三、解决相关变种问题。同时,里面的题目,应该都要在纸上实现,然后再在电脑里实现、测试。Bug-free是面试中重点考察,面试官也会经常让面试者写测试用例,所以,平时我们要养成这些好的习惯。
2. 机器学习必备算法
【算法和理论基础精通级别】:
2.1.1 各种聚类方法(K-Means, 如何用hadoop实现K-Means)
2.1.2 logistic (naive bayes和logistic regression的区别)
2.1.3 KNN
2.1.4 决策树
2.1.5 SVM (SVM里面的核)
2.1.6 LDA(LDA的原理和推导)
2.1.7 DeepLearning (AutoEncoder和RBM)
2.1.8 HMM和CRF
2.1.9 AdaBoost

何为精通?能够随手写出这些算法的核心递归步的伪代码以及他们优化的函数表达式和对偶问题形式。 数学知识方面,应当深刻理解矩阵的各种变换,尤其是特征值相关的知识。算法方面:应当深刻理解常用的优化方法:梯度下降、牛顿法、各种随机搜索算法(基 因、蚁群等等),深刻理解的意思是要知道梯度下降是用平面来逼近局部,牛顿法是用曲面逼近局部等等。

【工程实现级别】:
应当深刻理解在理论基础中列出的各种算法对应应该采用的数据结构和对应的搜索方法。比如KNN对应的KD树、如何给图结构设计数据结构?如何将算法map-red化等等。一般来说要么会写C,而且会用MPI,要么懂Hadoop,工程上基本都是在这两个平台实现。
MPI, Hadoop, MapReduce, Spark

【业务理解和思考深度】:
机器学习大多数场景是搜索、广告、垃圾过滤、安全、推荐系统等等。对业务有深刻的理解对你做出来的系统的结果影响超过70%。
做广告点击率预测,用哪些数据什么算法
推荐系统的算法中最近邻和矩阵分解各自适用场景
用户流失率预测怎么做(游戏公司的数据挖掘都喜欢问这个)
一个游戏的设计过程中该收集什么数据
如何从登陆日志中挖掘尽可能多的信息

参考2.1 常见面试之机器学习算法思想简单梳理
参考2.2 如何准备机器学习工程师的面试
参考2.3 【笔记分享】机器学习笔记

3. 在线编程
3.1.LeetCode http://leetcode.com/
这个网站里有很多经典面试题的讲解,当然最主要的是它的OJ系统,里面有100多道题目,和ACM OJ不同的是,这里面的题目都是来自于面试题,所有更有针对性,建议至少刷3遍,我刷了差不多5,6遍,多刷几遍不丢人。
3.2.POJ http://poj.org/
这是北大的OJ,leetcode满足不了你,就可以来这刷了,如果还满足不了就找国外的OJ吧,USACO、URAL等。
外企(Google、MS、Yahoo等)> 国内互联网(阿里、腾讯、百度、网易等)> 企事业单位
3.4. Python http://checkio.org/ 游戏模式的在线编程。IDE,PYCHARM
4. Careercup http://www.careercup.com/
国外著名的帮助找工作的网站,里面有很多Google,MS,FB,Amazon等等名企的面试题,有精力就一道一道做吧。完成Careercup里Amazon、Google和Microsoft这三个分类下面的前20页面试题

集齐了大量的真实笔试面试题,去外企的一定得看
【参考】
1. 2014年计算机求职总结–准备篇
2. 9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路
3. 我的求职路:华为、中兴、百度、腾讯

 

from: http://jacoxu.com/?p=1139