找实习/工作的经验心得

注:没太多规划便写了,想到哪写到哪,有些乱,望见谅……
注2:上传程序员面试题精选100题-何海涛 电子版~
  
趁着大多互联网校招的正式面试还没全面开展,分享一些自己找实习/工作的经验心得,也适当给明年找工作的师弟师妹们一些信息,攒攒RP。
  
个人背景简介
我邮计算机本科和网研小硕,计算机专业。
本科期间,前两年学习成绩中等偏上,主要精力放在学生工作和业余兴趣中。大三之后决意读研,好好学习,然后考研顺利,在网研院交换中心读研。研究生在苏老师组进行项目工作,参与过几个工程项目,基本都是Java Web方面的实践。
总体而言,技术上知识面略广,深度一般,有过实际的工程实践经验(虽说做的东西还是粗糙了些),综合素质方面良好但没出众之处或特长。
  
  
找实习/工作经历
  
简述
通过官方途径网申的有腾讯、ADOBE、MS、百度和有道,其中被有道无情BS了。托师兄内推人搜,自己没网申,不知为何连笔试都木有就被BS了。在大街网上也投过AMAZON等,一点消息都没有(大街略不靠谱)。最后拿到MS和百度的实习offer,最后去了MS的SDE intern,放弃了百度的互联网数据处理的offer;然后通过MS的转正面试,之后就没投简历了。
  
笔试流水帐
参加过的笔试都顺利通过,从身边朋友们的情况看,也没见笔试刷了多少人。笔试题考得都不深,但面的确挺广的,有些题不懂,比如操作系统和计组的,基本就是忘了。所以适当准备准备即可。主要精力还是放在面试题上好些。
  
面试流水帐
腾讯的技术面试一般有3轮。自己一面就跪了,虽说自我感觉面得还行。有些郁闷,但听到一些朋友更加悲催和无语的面试过程,也就释然了。
ADOBE的面试一般就一面,的确面得不好,同时面试官挺nice的,所以跪得舒服。得出的经验教训是  1)面外企做好全程英文面试的准备;2)要花些时间回忆和总结过往做过的项目,万一面试官对某个项目的某个细节感兴趣,至少得想得起来。
MS面试有两轮,一轮一小时,不多不少。据我所知,只有MS能做到面试不推迟不延长,不由感叹做操作系统的就是不同,对时间片的理解就是深刻些。问的内容偏基础,最后一题都跟大数据处理相关。面完之后,其实感觉并不良好,因为二面有一道操作系统时间片的问题答得不好,最后在面试官的提示下才明白。
百度面试经过了三轮,第一轮现场面,后两轮尤其安排不过来,直接来了两轮电话面试。第二轮还是面技术,觉得比现场面试麻烦,比如口述代码。最后一轮,主要就问问具体工作的意向,没什么考验性的问题。
MS转正面试,两轮技术面和一轮终面(亦有部分人是三轮技术面,也有直接推免的)。技术面一般就说说研究生做过的项目工作、在微软做的工作,1道简单的编码题和1道左右的大题,可能是智力题,可能是概率题,等等。由于有外藉员工参加面试(包括终面;自己有幸在第二轮遇着了),所以面微软还是做好英文面试技术的准备。终面的面试内容,因面试官而异,有的一直面技术,有的面其他的,自己这边具体说明微软的实习工作,接着回答了一道统计题,之后跟面试官交流些问题就结束了。
  
PS:基本上4月上旬就有投的了,微软、ADOBE、AMAZON等比较早(想走金融IT的注意一下大摩,也很早就能网申了),百度相对晚些。5月初面试多起来,最早拿到offer的也在5月初,比如大摩。6月初大多都能定了。
  
简历之我见
觉得简练突出为好。内容简练,无无关内容,关键部分突出。关键部分一般是实习经历、项目经历(非实习期间做的)和技能介绍等。其中实习经历和项目经历要说明清楚工作职责和内容。技能介绍突出自己擅长的即可,一般了解的往后排甚至为了篇幅不写之。其余,比如社会活动、竞赛经历,获奖情况,自我评论,都扼要介绍突出部分。比如获奖情况和社会活动一般都会有好些,根据剩余篇幅挑最重要的几个列一下即可,比如英文简历的社会活动,我就只留下奥残志愿者助理和院会部长,获奖就留优秀研究生、研究生国家一等,奥运会先进个人、校优秀干部,三好学习、优秀团员和其他奖学金没必要提。其实面技术的话,这些信息都不会被问到的。
最后提醒一点,简历上任何一点,都必须能详细地给面试官解释,如果解释不了,建议别写。
  
笔试之我见
笔试面试题面广,但不深,一般所有内容复习一遍周期太长,至少我没见身边有朋友这样干的。一般在网上或其他途径找些题练练,热热身即可。不过,具体还是得看个人情况,如果对OS,计组,计网基本不了解,那还是去翻翻吧。
节省笔试准备时间,其实主要为了腾多些时间准备面试。毕竟,从身边朋友们的情况看,因为笔试成绩被刷掉的概率实在是太小了,大家都答得差不多的烂,被刷掉往往是RP问题(如笔腾讯的时候,大家挨着坐,有位大牛朋友的答案和我们一样被刷了)。
  
面试之我见
首先,好好准备面试题,除非你是技术大牛。其中主要精力一般都放在技术题,尤其是算法题。一般大家都是看编程之美,个人觉得也可以看看面试100题(何海涛整理的,或者v_july_v整理的 http://blog.csdn.net/v_july_v),听说现在好多面试官看的是剑指offer。时间充实的话甚至可以去oj上刷刷题( http://bbs.byr.cn/#!article/ACM_ICPC/11777 每几天刷刷这里的题,相信你就不怎么怕算法题了。对今年找工作的朋友,也许有些晚了,我找实习的时候也就刷了最前面的水题= =,明年找工作的师弟师妹可以刷了)。
其次,对有项目实践经验的朋友,除了简单整理项目做过的内容,个人认为还是应该挖掘更多有价值的问题,比如思考一下当初为什么那样做,换作现在的自己有什么地方可以改进,等等。
其次,有一个良好的面试心理状态很关键。个人觉得至少得经历处女面才有可能进入状态。所以对于特别想去的公司,建议提前面面其他公司,找状态。面试过程中,保持谦虚自信为好,别自悲,别骄傲。
除此之外,在面试过程中清晰表达自己的思路比直接给出答案更为重要。个人认为有经验的面试官更看重考察面试者的思维。无论是会做的还是不会做的,都要努力简要说明你的思路,让面试官能清楚了解你的思路。比如,被问到一个问题,别急着解答,先把一些没提及的条件问一遍,确保自己真正了解题意。一道好的面试题,往往是能从浅至深的增加难度的,或能从多方向解答的,或考察思考的全面性的题目。比如,考二分比考快排有价值,因为前者变形多,而且能考察面试者对具体场景的边界条件是否考虑周全。有经验的面试官也许还有私人题库,这类题目很多源于实际工程,遇着这类题目也许刚开始找不到方向,但一般面试官会给点思路,以考察面试者的快速学习能力等。
做好全面的准备后,剩下的就看RP。面试特别考验RP的,也许遇着的面试官就不喜欢自己,或者面试组织得特别混乱,或者自己面试时被安排得特别晚,面试官都没心思面了。所以,得做好心理准备,凡事处变不惊。
  
最后,总结一下面试各环节最好做到的地方:
1)自我介绍。如同简历,简练突出即可。
2)项目经验和实习经验;工作内容和个人职责需说清楚,如果有个人创新的地方,建议提一下。
3)编码题。个人觉得一般编码题都不难,写出来是基本要求。个人认为让面试官看到良好的代码习惯更重要。
4)其他主观技术题,或者智力题、统计题等,思路清晰最关键。
  
面试的内容便大概说到这里。
在此一直故意地没具体描述自己遇过的面试题,因为觉得具体说面试题没太大的意义,反而可能有反作用。经常看其他人的解题思路,多少也会剥夺自己的思考过程。比如以前看july博客里的海量数据题,当真正在面试中遇到类似的题,有些在博客上表述不是很清晰的细节部分,往往解释不好。而且,一些大公司二轮往后的面试官都是身经百战的,一般很容易看出你是否见过此题。如果你坦诚看过此题,会换题;如果不坦诚被发现了,那就是诚信问题了。
  
PS:想找面试题,其实去v_july_v的博客就够了,资料多到也许没法看完。
  
工作选择之我见
在做出工作选择之前,首先必须权衡自己的需求。比如,你觉得没户口不行,那像百度等基本解决不了户口的就可以pass了,全力向银行IT或国企央企或其他很有机会解决户口的公司努力吧。
每个人的情况差别挺大的,所以很难就权衡哪个offer最好,比如有朋友特别喜欢AMAZON,看不上其他offer。再比如我,实在对电信无爱,所以就没考虑过要投运营商或者其他电信行业的公司。同时,对国企央企也没太大的兴趣。而且,GF的工作已经属于稳定型的了,我得去外边努力打拼啊。
就本人而言,自己倾向第一份工作是大企业的技术岗;初始待遇中等偏高;在技术能力和岗位晋升方向有较良好的发展空间;做的东西略前沿至少不过时;有学习的欲望,能有户口最好,没对我关系也不大;等等。
现在不投简历,一来觉得自己没必要投其他国内互联网公司了,虽说待遇也许会略高些,但除此之外没其他内容能打击自己;而且自己一直对国内互联网有一个偏见——重视具体的skill过于talent,而在具体的skill上,我自认优势不大。二来在MS实习感觉还是挺良好的,环境各种好,同事也nice,主观上便很喜欢这里了,这样奋斗起来应该也会起劲些。
从小至今,在方向的选择上自己一直挺明确的,初升高、高考志愿(不包括专业志愿)和考研志愿基本上就一个志愿,一直也挺顺利的,这回继续相信第一感觉了。
  
PS:权衡offer还有许多方法。比如,将自己重视的feature列一下,针对offer每一项打个分,比较总分。如果是pairwise的比较,比如A公司和B公司,有一种粗略的权衡方法是比较去了一家公司后三年踢到另一家公司的机率。
  
关于待遇
只计薪酬,应该是比不过人搜C++岗、有道、网易游戏等,但也不算低。具体情况不方便公开,毕竟是保密信息,勿站内咨询。
户口,其实像MS、IBM等跟政府关系不错的外企解决率还是挺高的,对于北京生源的研究生以上学历的学生。但HR也透露,现在每年北京市的户口在收紧(昨天一BYR HR也发贴说过此事 http://bbs.byr.cn/#!article/Job/1213249),甚至以后改制,像上海般需要申请,以让户口优先分配给有工作经验或者说对社会做出贡献更大的人。我觉得这个方向挺合理的,虽说对应届生不利。
  
  
其他
对于还有时间好好准备的师弟师妹们,建议平时做好积累。各种计算机理论基础(如 http://book.douban.com/doulist/1228111/
)或通用的计算机方法论(如 http://book.douban.com/doulist/1584195/
),多学些百利无害。而具体技术至少有一门得有具体的实践经验,哪一门技术便不推荐了,本人也不偏爱任何一种具体的技术。除此之外,有时间建议亦去简单学习 数据挖掘、机器学习等高级领域的基础知识,比如看看公开课什么的。
  
平时关注一些技术博客或技术人员的微博也挺好的,比如:
@陈利人 http://www.weibo.com/lirenchen Google工程师,最近特别活跃,每天分享G的面试题和一些技术资料。
@左耳朵耗子 http://weibo.com/haoel Amazon工程师,CoolShell的博主,推荐其“职场生涯”相关的博文 http://coolshell.cn/category/career
  
听说在国外,对技术人员的招聘亦逐渐看重面试者在StackOverflow,Github等的贡献。虽说现在在国内还是太geek了,但整体而言应该是一个趋势。有时间关注一下总是好事。
  
找工作的时候多组团,要相信团体的力量远胜于个人的力量。
  
  
祝每一个BYR都能找到理想的工作!
 

你可能感兴趣的:(找工作经验)