2015实习生求职季总结

一、实习季Timeline

从2015年4月开始找实习,前后历时两个月,参加了很多的笔试/面试。这是一个焦虑又美好的学期,我在这段时间里学到了很多东西。

这一个学期就这么磕磕绊绊的过了一半了,决定去360实习以后,也终于能安下心来。因为等待(笔试/面试通知)真的是很痛苦的一件事。

参加的笔试/面试越多,越发现自己有很多的不足。求职难免碰壁,这两个月我被虐了好几次,导致我的自信心直线下降。但现在来看,我觉得被虐反而更好,它让我不断总结和反思:哪一块的知识不知道就补哪一块,然后不断地提高自己。


二、经验之谈

我在本科时就决定要进互联网行业,在做过的项目中是C++开发居多,所以也自然而然的走向了服务端开发方向。从这两个月的笔试/面试经历来看,其实做后台服务端开发主要就是要掌握5个方面的基础知识,而且需要较深入。

  1. 语言:编程语言必然要掌握一门的,而且需要熟练的掌握。从笔试/面试的情况来看,基本就是 C/C++/Java 熟练掌握一门,最好还会一门脚本语言(Perl/Python/Shell)。因为我是C++党,所以这里推荐一下学习C++要看的书:

    • 《C++ Primer》不用多说,入门必看。
    • 《Effective C++》《More Effective C++》《深度探索C++对象模型》进阶。
    • 《Effective STL》《STL源码剖析》了解C++ STL。
  2. 算法与数据结构:这个就不用多说,不管什么岗位都要有算法基础的。

    • 《算法导论》最经典,但有人说上面讲的太繁琐,其实我也觉得,可能是水平还不够。
    • 《程序员面试金典》《编程之美》《剑指offer》
    • 刷题:LeetCode
  3. 操作系统:做服务端开发,对操作系统一定要很了解。通常考的最多的是进程线程、内存管理、I/O管理。

    • 《现代操作系统》《深入理解计算机系统》这是原理方面的。
    • 《UNIX环境高级编程》服务端是比较偏Unix/Linux的。
    • 如果你还要了解Linux内核的话…
  4. 网络:主要是指TCP/IP,做服务端必须熟练掌握TCP/IP,这点不需要解释什么。

    • 《TCP/IP协议详解》卷1,必看网络协议经典书籍。
    • 《计算机网络:自顶向下方法》也是讲原理的。
    • 《Unix网络编程》了解了原理,需要实战一下。
  5. 数据库:不论什么样的应用,都需要数据库的支持,数据库无处不在。而现在主流的还是关系型数据库,建议学MySQL。

    • 《数据库系统概念》了解数据库。
    • 《SQL Cookbook》《SQL入门经典》了解SQL结构化查询语言。
    • 《高性能MySQL》《MySQL技术内幕》学习MySQL本身。

当然,上面推荐的书籍是各领域评分较高的书籍,我目前也就看了一部分(要是都看完了,我就不是这个水平了)。除了打好基础,你还可以了解某一些领域的知识,比如《Linux高性能服务器编程》帮你从整体上了解服务端开发,《分布式系统原理与范型》了解分布式,或者看一些经典的论文,比如Google三大论文,或者学习Hadoop/Spark分布式计算框架等等。

下面是百度公司分享的一个技术能力模型:



对于基础知识,必然是要全部掌握的;而对于技术领域,可以择其一而攻之。


三、计划和展望

这个实习生招聘季,经过多个笔试->总结->面试->总结的循环,我学到了很多,提高了很多。同时,也更加明确了自己将来要做什么,要往哪个方向走。

我会记住并保持这段时间的这种心态,在接下来一年的实习时间里,看完还没看完的书,了解并学习一些新的领域,完成给自己制定的To-Do-List。相信在一年后的毕业招聘季中,我能更加地得心应手。