搜索
搜 索
本版
文章
帖子
用户
图文精华
hadoop-2.6.0+zookeeper-3.4.6+hbase-1.0.0+hive-1.1.0完全分布 ...
首页
Portal
专题
BBS
面试
更多
登录
注册
用户组:游客
主题
帖子
云币
我的帖子
我的收藏
我的好友
我的勋章
设置
退出
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
About云-梭伦科技
»
专题
›
技术学习(版主发帖区)
›
面试区
›
程序员如何快速准备面试中的算法
1
4
3
分享
程序员如何快速准备面试中的算法
nettman
发表于 2014-11-13 22:17:35
[显示全部楼层]
阅读模式
关闭右栏
4
14131
阅读导读:
1.备战面试中的算法,可以进行哪些步骤?
2.
如果要面机器学习一类的岗位,可以看看哪些书籍?
3.去国外找工作的话,可以查看哪些国外的编程面试网站?
4.校招和社招分别需要注意哪些事项?
前言
我决定写篇短文,即为此文。之所以要写这篇文章,缘于微博上常有朋友询问,要毕业找工作了,如何备战算法。尽管在微博上简单梳理过,如下图所示:
但因字数限制,许多问题无法一次性说清楚,故特撰此文着重阐述下:程序员如何快速准备面试中的算法,继而推荐一些相关的书籍或资料。顺便也供节后跳槽、3月春季招聘小高潮、及6月毕业找工作的朋友参考。
备战面试中算法的五个步骤 对于立志进一线互联网公司,同时不满足于一辈子干纯业务应用开发,希望在后端做点事情的同学来说,备战面试中的算法,分为
五个步骤
,如下:
1、掌握一门编程语言
首先你得确保你已掌握好一门编程语言:
C的话,推荐Dennis M. Ritchie & Brian W. Kernighan合著的《C程序设计语言》、《C和指针》,和《征服C 指针》;
C++ 则推荐《C++ Primer》,《深度探索C++对象模型》,《Effective C++》 。 掌握一门语言并不容易,不是翻完一两本书即可了事,语言的细枝末节需要在平日不断的编程练习中加以熟练。
2、过一遍微软面试100题系列
我从2010年起开始整理
微软面试100题系列
,见过的题目不可谓不多,但不管题目怎般变化,依然是那些常见的题型和考察点,当然,不考察任何知识点,纯粹考察编程能力的题目也屡见不鲜。故不管千变万化,始终不离两点:
看你基本知识点的掌握情况
编程基本功
而当你看了一遍微软面试100题之后(不要求做完,且这个系列的有些答案存在不少问题,建议以编程艺术github版 为准),你自会意识到:数据结构和算法在笔试面试中的重要性。
3、苦补数据结构基础
如果学数据结构,可以看我们在大学里学的任一本数据结构教材都行,包括链表、数组、字符串、矩阵、树、图等等,如果你觉得实在不够上档次,那么可以再看看《STL源码剖析》。
4、看算法导论
《算法导论》上的前大部分的章节都在阐述一些经典常用的数据结构和典型算法(如
二分查找
,
快速排序
、
Hash表
),以及一些高级数据结构(诸如
红黑树
、
B树
),如果你已经学完了一本数据结构教材,那么建议你着重看贪心、动态规划、图论等内容,这3个议题每一个议题都大有题目可出。同时,熟悉
常用算法的时间复杂度
。
如果算法导论看不懂,你可以参看本博客。
5、刷leetcode或cc150或编程艺术系列
如主要在国外找工作,推荐两个编程面试网站:一个是国外一网站leetcode,它上面有个OJ对于找工作的同学来说非常值得一刷
https://oj.leetcode.com/
;另外一个是
http://www.careercup.com/
,而后这个网站的创始人写了本书,叫《careercup cracking coding interview》,最终这本英文书被图灵教育翻译出版为《程序员面试金典》。
若如果是国内找工作,则郑重推荐我编写的《程序员编程艺术》,有
编程艺术博客版
,以及在博客版本基础上精简优化的
编程艺术github版
。除此之外,还可看看《编程之美》,与《剑指offer》。
而不论是准备国内还是国外的海量数据处理面试题,此文必看:
教你如何迅速秒杀掉:99%的海量数据处理面试题
。
此外,多看看优秀的开源代码,如nginx或redis,多做几个项目加以实践之,尽早实习(在一线互联网公司实习3个月可能胜过你自个黑灯瞎火摸爬滚打一年)。
当然,如果你是准备社招,且已经具备了上文所说的语言 & 数据结构 & 算法基础,可以直接跳到本第五步骤,开始刷leetcode或cc150或编程艺术系列。
后记
学习最忌心浮气躁,急功近利,即便练习了算法,也不一定代表能万无一失通过笔试面试关,因为总体说来,在一般的笔试面试中,70%基础+ 30%
coding能力
(含算法),故如果做到了上文中的5个步骤,还远远不够,最后,我推荐一份非算法的书单,以此为大家查漏补缺(不必全部看完,
欢迎大家补充
):
《深入理解计算机系统》
W.Richard Stevens著的《TCP/IP详解三卷》,《UNIX网络编程二卷》,《UNIX环境高级编程:第2版》
你如果要面机器学习一类的岗位,建议看看相关的算法(如
支持向量机通俗导论(理解SVM的三层境界)
),及老老实实补补数学基础,包括微积分、线性代数、概率论与数理统计(除了教材,推荐一本《数理统计学简史》)、矩阵论(推荐《矩阵分析与应用》)等..[/ol] 综上:上述全部过程短则半年,长则三年。 最后要强调的是:急功近利者必败,越想快速越要循序渐进,踏实前进,若实在觉得算法 & 编程太难,转产品、运营、测试、运维、前端、设计都是不错的选择,因为虽然编程有趣,但不一定人人适合编程。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
已有(4)人评论
电梯直达
正序浏览
waitler2002
发表于 2014-11-15 08:11:19
这是JULY结构之法博客上的内容吧 帮顶哦 好东西谢谢分享
回复
使用道具
举报
显身卡
hb1984
发表于 2014-11-15 11:10:38
谢谢楼主分享。
回复
使用道具
举报
显身卡
zqh_2014
发表于 2014-11-15 14:56:29
总结得不错
回复
使用道具
举报
显身卡
ljlinux2012
发表于 2017-3-1 16:03:20
谢谢楼主分享。
回复
使用道具
举报
显身卡
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
发表新帖
nettman
超级版主
关注
2911
主题
3204
帖子
478
粉丝
TA的主题
谷歌版o1模型发布
2024-12-20
避坑大厂基础架构
2024-11-26
Flink CDC:新一代实时数据集成框架
2024-11-26
蚂蚁面试就是不一样
2024-11-26
招聘1万人
2024-11-21
24小时热文
Spark机器学习
Spark机器学习算法、源码及实战详解
《深度实践Spark机器学习(吴茂贵)》高清
《Spark机器学习第2版》高清中文PDF
像高手一样发言:七种常见工作场景的说话之
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈