我是如何找实习 (or 工作)的

引子


在百糯也干了一个月活了,从学校出来前实验室的同学就问我找实习该看哪些书,讲了一圈他们说让我写下来吧我说好。结果一拖就拖到现在了。
工作了一段时间之后才逐渐明白面试官所问的东西的目的。这里就说下自己的愚见吧。


首先,先说说我当初找实习时没有明白却很重要的问题。

  • 如果你通过了,你的面试官一般都是你的老大,或者是同一部门工作的前辈。
  • 对于实习生,面试官最关心的是你能不能干活;反之,你在面试前最好能明白自己的岗位需要干什么活。
  • 做过什么远比学过什么重要

知识的准备

这里就说说程序员要看哪些书吧。

1. 语言

找实习时还会分java,C++方向什么的,可这其实并不重要了,或者说主流的语言都要会是必要的(我当初投的java,现在每天都在linux下敲代码,是不是还要配配python脚本什么的)。当然只会一种语言并不影响你拿offer,其他的可以进去了再学嘛~ 学语言重要的是明白所学语言的机制性的东西,而对于语言的考题常常也是围绕这些来的。比如C++的,会问visual的含义,虚函数的使用场景等,java则是虚拟机,GC之类的。书籍无非就是那些经典,《C++ primer》 《JAVA 核心技术》等。面试前,再搜搜相关的面试题刷刷就好。PS:面试官再强一般也很难创造出新题型来,而且面试官也很忙的一堆活要干,面试题也是自己在网上找找。

2. 数据结构 & 算法

《数据结构与算法分析:C语言描述(原书第2版)》
贴链接纯粹直说想说明这书长什么样子。其实目前市面上的数据结构任意一本都足够好了,只是老外的书对于经典的阐释更加通透一点。作为程序员,将本书看完并能够应用是很基础的要求,对于基础的数据结构:队列,堆栈,树等等肯定必考,排序、搜索的基础算法,以及贪心,动态规划的基本算法思想还是要有的。这本书相对基础,通读只是时间问题。(PS:其实找实习运气好的话,看完这一本书就足够了,主要还是看部门缺不缺人,缺人就问的简单,不缺的话面试官就会提高难度)
如果想继续提高,就可以读读:
《算法导论》
这本书也是我很喜欢的书,封面已经烂的,不过还没看完。有点厚,前面有20%的篇幅偏基础,后面就是提升部分。对于算法的思想阐释得更加深入,还有许多数学上的推导与证明。高级数据结构,树的第三部分 数据结构 和第四部分 高级设计和分析技术 算是重点了,时间足够的话可以继续往后读,绝对受益匪浅。

3. 其他

就开始其他部分感觉有点偷懒的嫌疑,其实是觉得没什么说的了,一不小心暴露了自己看的书也不多了 T.T。

  1. 操作系统:《现代操作系统》:第2章 进程与线程,第3章 存储管理 ,第4章 文件系统 ,第6章 死锁 是重点;选择这本书的好处是,它不仅描述的操作系统的经典知识,还结合了linux & windows的具体实现,所以看这本书最好要看最新版的。
  2. 计算机网络:这里就不推荐书了,书看了也没大用,了解TCP/IP协议,明白三次握手四次断开是怎么回事就好了。
  3. 设计模式:强烈推荐我们伟帅的博客:刘伟 CSDN 。设计模式也算是上层建筑了,说不定很多C程序员都不是很懂,但很多程序员在写的时候多多少少都会用到,对于java程序员来说,那就不言而喻了,必看!

思维的准备

其实也是一种状态上的准备,如果上述只是都学过,那么在找实习前将多有知识都过一遍也是很有必要的,不仅是重新巩固,更是一种思维模式的转换。不管你准备的多么充分,在面试的时候多少都会遇到没见过的问题,这时候就需要依靠逻辑思维去分析,解决问题。这种情况一般都是出现在面试的后期,面试官并不需要你给出非常完美的答案(当然能完美肯定再好不过),重要是的能够展现你的分析能力。我面百度上研和深研的时候,最后一题都很险的拿下了,最后1题OK,基本上也预示着你这次通过了。很多问题的解决方式都大同小异,或者综合,或者偏颇,在面试前将思维方式训练好也是很有必要的。具体怎么办?上网继续刷题吧,把历届大公司的面试题刷完了,还可以刷ACM的题。如果觉得还是没什么难度的话,我只想说:大神带我飞!!!

简历的准备

简历,简,就是要别废话。说清楚是男是女,基本资料,会什么,干过什么,想干什么就好,篇幅保持在1~2页之内,当然这只是我等学渣学沫的要求,大神怎么任性都好。但有几点:

  • 简历设计 “创意VS严谨” ?:看公司性质了,我等码农严谨点就好。但如果内容上OK,好看的简历自然那会加分。
  • 关于“干什么”怎么写:无非就是项目经验活动经验之类的,这个很重要,一定要写清楚。怎么样才算写清楚?首先,这是个什么项目,背景是什么,效果怎么样。多少人做的?你在其中做了什么,起到了什么作用。记得说人话,别用抽象的句子。如果实在没有,结合自身能力尽量编一个真实读高的,这么做主要是让面试官觉得你能干活。
  • 女生要找张好看的照片…程序员90%都是男员工,其中95%是直的…这个看脸的世界你懂的。

闲言碎语

虽是闲言,但我觉得还是比较重要的。

如何实施

别人讲的再多也是鸡汤,具体怎么喝勺子要自己去找。前面说到的都是基本的准备,结合具体岗位的不同,所要准备的东西有进一步延伸的必要。比如数据挖掘工程师,肯定需要懂机器学习的一般方法,前端工程师等等。根据具体岗位的不同,所要准备的也要有所侧重。信息掌握得更多很必要,至于消息怎么来…除了自行百度google…你意向公司的师兄师姐同学什么的,他们的信息往往是第一线的。所以情商也很重要。了解了“敌人”才能更好的制定作战策略。

面试时的语言组织

第一次面崩了之后,和小黄讨论过这个问题,虽然当时的谈话是半开玩笑的语气,但是事实证明这么做是很有效的。小黄当时说,语言需要有引导性,将面试官的问题引导你熟悉的知识领域来,之后我也这么试了一次,然后面试过了,之后也是屡试不爽。
具体的做法是:一般面试的开场白就是自我介绍,然后做过哪些项目。虽然简历有写,但此时你可以把自己的强项重复一遍,毕竟声音比文字能留下更深的印象。然后在介绍项目的时候,特别是技术岗位的面试,此时你就可以谈一些你使用了哪些具体的技术,这些东西很多时候是在简历里无法说明的,比如说你如何同步多线程,如果使用共享内存进行通信之类的,这些技术点很重要但却很琐碎无法写在简历里,但实际上这些小的技术点对于面试官衡量你的能力至关重要。同时通过这些技术点,也可以引导到很大的知识领域里。面试官的问题通常是连贯的,当他们问询技术点的实现时,必然后谈到背后的理论知识。所以基本上只要在介绍项目时,自己埋下了好的“伏笔”,基本上之后的问题也可以在你的掌控之中了。在接下来的就是常规流程的问题了,一般是 【数据结构】->【算法】->【操作系统】->【拓展】一般拓展部分就是一些系统设计和算法设计的题。如果面试官并未提前准备很系统的面试题,(PS:大牛们一般都不会为了一个面试特意准备太多的,所以大多数时候是这样。)之后的常规流程中的题也有很多会围绕你之前提到的知识进行延伸。说这么多也就是想说明,在面试中掌握主动权很重要,当然你也不要太主动了,总体感觉上还是要让面试官觉得是他在引导你比较好,该演的时候还是要演的…咳咳咳…还好我老大没我CSDN。。。


尾声

再说点其他的吧,对于应届生来说,找到工作就好像当初高考之后准备上大学那会儿一样,觉得一旦工作找到后,只要工作待遇还可以,就可以等着上级安排工作,自己好好做事就行了。
实际上通过这么短时间的工作我就感觉到,很多工作的部署也是人来完成的(废话么不是…),一般是大boss差遣小boss,小boss再吩咐小小boss…一层层下来。有时候分到你手上的事情就很琐碎,以至于你并不知道自己现在所做的事是为了什么。这种感觉是很不好的,至少我不喜欢。
所以有时候一定要多思考,很多资源也是可以获得的,很多代码都是放在SVN上你可以自己去看去查阅,大佬们有时候也会开会不能因为感觉和自己手头工作关系不到就不去听不去想,虽然会累,但是至少会明白一些。
我觉得,只要是人做的事,那么就有很大的可能性会出现漏洞,会有重要的情况被忽略,会有价值未被挖掘出来,而这时如果你能发觉你能掌握,那么就能成为你的价值。
再进一步,如果你能发现更多别人未发现的,思考到更多人为想到的,创造别人未创造了的,那才是我们工作的意义,为别人也为自己。
又鸡汤了,而且还不是我的鸡汤,我只是慢慢发现了一份看起来很可口的鸡汤而已,现实却是勺子还没找到而且不知去哪里找。
愿意多想总是有结果的,熟悉公司业务后,我都努力尽快先把活干完,然后用一天中剩下的时间看看书上上coursera(PS:当然不能让老大知道,老大知道了会害怕我没事干心生愧疚又安排些乱七八糟的活的)…最近才知道Andrew N.G被百度聘请了…
好了就这么多了,最后祝大家新年愉快,心想事成。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值