原文地址:http://mp.weixin.qq.com/s?__biz=MjM5NzA1MTcyMA==&mid=200166063&idx=1&sn=952d91eeec9831590ed99b950b08175d#rd
前言
我做出了写一篇短文的决定, 就是针对这篇文章而言。之所以会打算撰写这篇论述, 是因为在微博之上常常会有朋友开展询问, 面临即将毕业去寻觅工作的状况, 怎样从事针对算法的筹备工作。
虽说在微博那儿已简单梳理过一番, 然而由于存在字数方面的限制状况, 致使好多问题没办法一次性完整表述清楚, 所以特意撰写这篇文章着重对其进行阐述, 即程序员要怎样迅速准备面试当中的算法, 顺便还推荐一些与之相关的书籍或者资料。
备战面试中算法的五个步骤
总体来说,备战面试中的算法,分为五个步骤,如下:
1、掌握一门编程语言
首先你得确保你已掌握好一门编程语言:
如果是关于C, 那么推荐由Dennis M. Ritchie与Brian W. Kernighan共同撰写的《C程序设计语言》以及《C和指针》。
对于C++, 推荐《C++ Primer》, 推荐《深度探索C++对象模型》, 还推荐《Effective C++》。
掌握一门语言不容易, 并非翻完一两本书就能完结, 语言的细微之处, 需要在平常持续的编程练习里予以熟练掌握, 要不断练习。
2、过一遍微软面试100题系列
我于2010年起始着手整理微软面试100题系列, 所见过的题目数量不可谓不多, 然而, 不管题目怎样进行变化, 始终都是那些常见的题型以及考察点, 当然, 不考察任何知识点, 仅仅纯粹考察编程能力的题目也屡屡皆是。所以, 不管发生怎样的千变万化, 始终都离不开两点: 其一, 查看你对基本知识点的掌握状况;其二, 编程的基本功。
你看过一遍微软面试100题后(不要求全部做完), 你就会自己意识到, 数据结构以及算法, 在笔试面试里头的重要程度。
3、苦补数据结构基础

要是学习数据结构, 能够瞧一瞧我们于大学里所学的随便哪一本数据结构教材皆是可以的, 要是你认为着实欠缺档次, 那么能够再瞅一瞅《STL源码剖析》。
4、看算法导论
一些经典常用的数据结构以及典型算法, 像是红黑树、B树等, 在《算法导论》靠前的多数章节里都有阐述, 要是你学完了一本数据结构教材, 那么建议你重点去看贪心、动态规划、图论这些内容, 这三个议题, 每个议题都有很多题目可以出。
5、刷leetcode或cc150或编程艺术系列
要是主要在国外去寻觅工作呢, 可以推荐两个与面试编程相关的网站, 一个是http://leetcode.com/ , leetcode属于国外的一个网站, 在它上面存在着不少的编程题目, 另外一个是http://www.careercup.com/ , 而后者这个网站的创始人著作了一本书, 书名叫《careercup cracking coding interview》 , 最终这本英文书籍被图灵教育翻译出版为《程序员面试金典》。
倘若在国内寻觅工作, 那么郑重地推荐我所编写的《程序员编程艺术》, 它存在包含编程艺术博客版, 以及于博客版本之上进行精简优化的编程艺术github版。除此以外, 还能够去瞧瞧《编程之美》, 还有《剑指offer》。
无论准备面向国内的海量数据处理面试题, 还是准备面向国外的海量数据处理面试题, 此文都必定值得看;此文会教程你怎样快速地秒杀掉, 那占据99%比例的海量数据处理面试题。
并且, 去多多瞧瞧那些相当出色的开源代码, 就像nginx或者redis这样的, 进而多开展几个项目对其加以实践性应用行动。
后记
追求学习成效这件事, 最忌讳的便是内心浮躁, 急切而功利, 就算在算法方面进行了大量练习, 那也并不必然表明能够毫无差错地通过笔试与面试关卡, 原因在于总体而言, 在通常的笔试与面试当中, 七成比重属于基础部分, 加上三成比重是编码能力(其中涵盖算法), 所以要是达成了上文提及的五个步骤, 这样仍是远远不足够的, 最终, 我给出一个书单推荐, 凭借这个书单为大家查找知识漏洞并补充欠缺之处(并非要求全部阅读完毕, 欢迎大家予以补充):
1、《深入理解计算机系统》
2、由W.Richard Stevens所著的《TCP/IP详解三卷》, 以及《UNIX网络编程二卷》, 乃至《UNIX环境高级编程: 第2版》, 具体详情可见此豆瓣页面。
3、如果, 你要去面对机器学习这一类别的岗位, 那么, 建议你去看一看与之有关联的算法, 比如说支持向量机通俗导论, 那个理解SVM的三层境界, 以及, 要老老实实地去补充补充数学基础, 其中涵盖微积分, 线性代数, 概率论与数理统计, 除了教材之外, 推荐一本数理统计学简史, 矩阵论, 推荐矩阵分析与应用等。
综上所述, 前面所讲的尽数历程, 时间短的话要半年, 时间长的话则需三年。最后还有一句, 那些急于求成的人必定会失败, 越是想要快速达成, 就越是得按照一定的顺序逐步推进, 稳稳当当地向前行进。
Copyright © 2018 All Rights Reserved 版权所有 宁国人才网 苏ICP备2024139598号-6
地址:安徽省合肥市瑶海区 EMAIL:
Powered by PHPYun.