尊重原创版权,转载请注明原文地址
博客:http://blog.csdn.net/note_sun 欢迎关注
前言
写这篇有以下几个原因:
1.对过去一年找工作的一个详细总结
2.自己找工作也看了许多攻略,没有一个特别有用,特别好的,所以就自己写一个攻略,如果能帮助到别人,当然最好了。
3.好吧,师弟师妹们总问,额。就写一份得了。
4.个人的一些想法,如有意见和错误,欢迎指出和讨论
内容提纲:
1.个人经历介绍以及一些找工作误区
2.如何写好简历,做到最完美的简历
3.如何准备知识,做好规划
4.如何笔试
5.如何面试
6.公司介绍
本文注重方法,不会具体说具体的题目,因为每个面试官问的不会一样,没有太多的意义,而且方法掌握对了,知识都是通的,具体实践自己怎么操作都可以。
个人经历
阿里蚂蚁金服:3月初第一个面的公司,3面过了。暑期实习3月
网易游戏互娱:3月面,1面,通过发了offer,没去实习
百度:9月校招,笔试+3面面试,最后拿到special offer
腾讯:9月校招,笔试+2面面试+hr面,special offer
华为:9月校招,3面+2面,special offer
今日头条:笔试+3面,拿到offer
微软:4月面,3面,通过,算法偏弱,最后没给offer
猿题库:9月,3面过,算法偏弱,最后没给offer
误区
1.以为看越多面试题越好
许多同学看许多别人的面试题,看面试是什么题目,然而真正面试发现并没有什么用,本人第一次面试前看过1,2篇面试题经验,之后就再也没看过。因为面试可以说是一种谈判和博弈,每个面试官,问到的题目肯定不一样,许多都是顺着话题而展开,而且技术发展这么快,去年的面经的题目可能就过时了,算法题目除外。如果花过多时间和经历去看面试题,那么就跑偏了。
2.盲目的投各种公司
许多同学投各种公司,然后忙的焦头烂额,发现最后收获的很少,又很沮丧,很累。其实选公司也是有许多策略的,不易贪多,注重质量,而且第一次面试的公司一定要慎重选择,如果第一次面试成功,那么有保底的,又能增加信心,在以后的面时间过程中肯定也会越来越好。如果第一次面试失败,那么会很打击,很沮丧,会怀疑自己,缺乏自信,那么之后别的公司的面试也会越来越紧张,没有自信。所以第一次面试的公司要选好,争取一下成功。
3.各种跑招聘会
额,本人找工作没有去一次招聘会,个人觉得没有特别大的作用,如果想了解,想搜集信息,网络完全可以搜集的很全面,而且跑很多招聘会,看那么多的同学,人容易焦虑,缺乏精力,又疲惫,又累,所以直接网上投就好了。
准备和规划
规划:学习知识-> 简历->内推->笔试->面试
怎么学:
1.看书,看书,看书,记录,记录,记录
2.总结和思考
3.巩固和举一反三
看书是最好的学习方式,书具有系统性,会涉及到各个细节,多看书能很好的打好基础,增加广度,其次是记录,记录重要的知识点,关键的知识点,容易忽视的知识点,重点理解和思考,增加深度。然后不断巩固,加深记忆。
java和android找工作之前看了如下书
java:
java编程思想,java核心I,II, java虚拟机,java特种兵,java数据结构与算法,head first java, java特种兵,effective java,java并发编程艺术,java面试指南
android:
第一行代码,android群英传,android权威指南,android开发艺术,android深入理解内核思想,android系统源码分析
这些书全部都买了,当然是二手的,一本一二十。
这么多书,怎么看呢?
精读一本,例如java,看java编程思想,认真看完,做好笔记记录,自己不理解的,容易忘记的,觉得重要的记下来,当然是记关键词,使自己之后能看到关键词想到相关知识点,之后不断巩固。
然后你看别的书,就发现,都是熟悉的,因为许多都是重叠的,那么就查缺补漏,做记录,之后看的就非常快。
获取信息
每天抽取一定的时间,获取招聘信息,然后根据时间记录,其他时间打基础。
做简历
首先要认识清楚:
1.简历不是说把自己所有的有的无的都放上去
2.简历针对不同公司,不同职位,要做相关更改,最好不要一份简历通用
3.把简历当作一个入口,和面试官沟通的入口,每个点相当于开始,针对每个点,都做好接下来的对话。
亮点和优势:
好的简历无外乎以下几点:
1.学校奖学金(XXX奖学金)代表你的学习基础
2.技能,简单列一下几点比如java:熟悉Java(多线程,IO, 虚拟机)了解常用jar包源码,了解Java设计思想等
3.项目:xxx项目,自己做了哪些工作
4.竞赛:xxx竞赛xxx几等奖
5.论文和专利:xxx论文
内容:
格式:
1.用表格来规范简历的格式
2.字体要清晰,统一,看起来舒服,如微软雅黑
3.不要超过一面
4.清晰简洁,每个模块加粗,下一横线
5.中英文简历都要做,英文注意单词用法
6.提交得提交pdf格式,内推是发现许多同学交到是word版本,word版本因为兼容性问题,布局会变的。
7.尽量填充一面,内容多的,缩小字体,缩小行距,内容少的,增大字体,增大行距,一页满,不留空白
个人信息:
1.标题不要写简历2个字,都知道写简历没必要多此一举,直接写自己名字
2.手机,邮箱,性别,出生年月,技术博客,github。技术博客和github很重要,是加分点,许多面试官会看,这个是最直接能了解一个人的技术基础,如果没有,那么ok去准备,去总结,去写,去填充这些。
校园经历:
如果只是本科,直接写到个人信息里面,如果硕士,可以写两行,也可以加上自己获得的奖,xxx奖学金啥的,动态的调整内容
技能:
1.切记不要写精通
2.列清点: 如果直接写熟悉java语言,那么很宽泛,面试官可以在这么大的范围里面随便问,问到很偏的东西,就完蛋,比如java8新特性,java多线程,java泛型。 如果改为熟悉Java语言(基础,容器,多线程,IO,面向对象)这样就很好,相当于把一个很大的集合,缩小为可控的集合,那么只要认真准备擅长的,重点的几点,再兼顾其他的知识点就ok。其他也是一样 熟悉机器学习(列自己擅长的算法)熟悉数据结构(...)
这样写法一个可以丰富自己的简历,使每一行都占满,另一个缩小集合,限制在自己擅长,拿手的重要知识点上面,这样自己准备起来有方向,当然其他的知识点也要准备。
3.java可以如下写: 熟悉Java语言(...) 熟悉Java虚拟机(...)了解JDK源码(ArrayList,HashMap...) 熟悉Java并发(...) ArrayList,HashMap的源码非常重要,必掌握知识点,而去写到简历上,很大可能会被问,一旦问道,自己顺手纸上写出来,多么完美。
4.数据结构(...)操作系统(...) 网络(...) 数据库(...) 如果没有精力准备,那么不写,问到能回答则回答,不回答,就说不会。
5.语言:CET-4:xx CET-6:xx 能熟练阅读官方文档。
项目:
1.有项目最好,项目上标清和xxx公司,和xxx国外老师,和xxx创业团队合作项目,这样看上去就显的项目重要,有底气,比上面都没有,让人以为自己捣鼓的小项目好很多。
2.没有项目,那么自己要准备一个项目,途径:教学视频,带你手打项目,语速2倍,了解项目整个逻辑,属于拿来主义,站在巨人的肩膀上,加上自己的思考,改进,进行包装,这样也可以,但是自己要圆过去,重要的不是项目本身,是项目中,自己做了什么,涉及到什么知识点
3.项目写清自己做的工作,关键知识点:xxxx
自我评价:
1.不要写什么踏实,努力,这些很虚的东西。
2.有爱好,特长可以写 如xxx几级, 志愿者,社团工作,可以写,xxx主席
3.有优势的写:如3年读了100本专业书,写了多少篇博客
4.职业规划:职业发展
注意:
1.简历是一个引子,上面的每一点,每一句话都是有用的,如果问到那么必须自己能对话下去
2.为什么技能,列点,这些就属于自己抛出去引导面试官问的,这样就会化被动为主动
3.比如列了熟悉ArrayList,HashMap源码,这样就抛出去这样一个问题给面试官问,而且属于数据结构知识,又有语言实习,极大可能面试官看到简历这点就会让你写,你在写这点在简历上的时候,就肯定准备的很周全,那么面试的时候,顺利的写下来,这样就很好。技能,项目都是如此,抛出去相关点,准备周全,等着来问。 自我评价也是,抛出去读了多少书,那么问到你最印象深刻的书是什么,准备好,顺利答出,这样就会掌握面试的节奏,化被动为主动
4.简历的每一点都要认真准备,写的准备好,虚的,不会的那么就不写。因为自己真的遇到面试官,就拿着简历,对着上面一点一点的问,然后扩展。
笔试:
一般最开始都可以走内推流程,不过现在大部分内推也是要笔试的了,笔试有以下类型:
1.在线编程:网易微软的hihoCoder,没有acm基础的很难通过,这个时候就是发挥人脉的时候到了,当然自己要努力经常刷leetcode,等在线编程题目
2.选择,编程,简答之类的:涉及的知识面真的很广,大家都懂得。不明说了,如果不懂欢迎联系我~
面试:
1.第一家面试的公司最重要,慎重选择自己把握大的,可以不上来直接BAT,可以面一些小公司,使自己适应,增加自己的信心,如果一上来BAT,那么可能直接撞死,信心将受到强烈打击。本人一上来就是B,幸好还是通过了。
2.把握时间节点,在自己把简历准备好,知识点准备好,怎么抛,怎么把我节奏准备好后,再投简历,切记没准备好,盲目的投
3.约好时间,许多面试可能在你做别的事情,比如搬砖,比如吃饭,比如睡午觉的时候打电话过来面试,这个时候正确的姿势是:不好意思,然后约半小时后。然后在这半小时中:1.找一个安静的空间,2.看笔记关键词过一下知识点,3.清空大脑,平静心情。 刚开始可以这样,如果有把握,那么随时开始。本人刚开始几次都是突然打电话,然后都是约了靠后的半小时到一小时,平静好心情,清空好大脑。后面面试多了,就随时可以开始面了。
4.面试有这几个阶段:自我介绍阶段,基础知识,扩展知识,项目,提问
自我介绍阶段:
简历上有的就不需要说了,说以下几点:
1.简单介绍项目,重点突出一个,看面试官是不是感兴趣,动态调整
2.已经有的职业技能规划
3.未来的发展规划
4.自己的看法,为什么投这个公司,自己对这个公司的业务,和公司这个职位的工作情况,工作环境,使用的技术。
中间可以加入一些问句:比如说完自己的未来发展规划,问公司的对信任的职业规划什么样,或者问面试官个人,这样使对话能继续下去,有的说,有点聊,双方都舒服。
基础知识:
因为简历上已经抛出引子了,自己也准备好了,那么简单的基础知识很容易就能答上来,会的就说会,不会就说不会
扩展知识:
如设计题目,考思维,ok首先归类到哪方面的问题,然后搜查知识点,看有没有类似的知识点,涉及到。因为这样的题目,大多都是从基础知识扩展出来的,所以从对应的基础知识搜查。
应用知识:
最新的技术,开源项目,xx语言新特性。这些需要自己平时积累的
项目:
知识点介绍项目,说清楚项目的应用场景
以上知识和项目这些完全没有技巧可言,全部都是靠自己的功力,当然抛出去的引子使知识点范围可控了
提问:
1.问具体公司文化
2.问使用什么开源技术
3.问个人发展规划
4.问公司培养新人计划
5.问面试官面试反馈: 最后问,如果前面谈的好的话,这个时候就知道自己是不是面过了。
优缺点:
经常遇到,这是一个很难回答的题目,重点是,缺点不能是真正的缺点,如果说缺点是不喜欢加班,ok,完蛋。本人经历后总结出以下几点:
1.实践能力不足,解决问题能力有待提高,随着自己的实践和努力,怎么怎么样
2.职场专业性不足,学校学生的思维更多, 然后自己会尽快转变从学校到职场多过度
3.心理抗压能力不足,。。
4.任务时间规划和细分。
公司:
阿里:
电面,内推没有笔试,网站上有进度,面试完成后,面试状态会变动如果挂的话,没挂的话过几天就下一面,最后有一个hr面,只要价值观没问题,基本没事。然后优缺点问题回答好,参考上面。
基础知识:根据个人抛什么样的引子,java的话常规的题目如:抽象,多态,虚拟机双亲模型,gc,内存结构,多线程,线程池,自动装箱,io, 等。 结合数据结构问的重点是容器,抛了引子,会写源码,ok了。 然后并发库, equal方法源码等。之后排序,各种应用场景排序,大规模排序,分桶。 偏项目,每一面都会问项目,二面,三面扩展知识比较多,涉及多线程比较多,虚拟机比较多,或者源码。
阿里的氛围是狼性文化: 适合张扬的性格,公司争吵比较多,当然是对事不对人。弹性上班,下班部门不同,时间不一样。基本9点后把。
百度:
现场面:3面,在宾馆,问的题目难度比阿里难,有算法题,手写代码,问题偏低层居多,本人android, 问了很多底层的原理,AIDL, Binder,AMS, 启动流程, view绘制, 消息队列,Binder open(), map(), JNI,当然这些自己在简历上也抛了引子。 前两面一天面,之后过的话会有3面会涉及一些hr面的问题, 很少, 项目比前二面问的多, 有设计题目。 3面后无hr面
腾讯:
宾馆,2面,hr面, 100000人里选1000 貌似是这样。 扩展连续深入问题居多, 比百度好一些,不是特别篇底层,有手写算法题目。
腾讯文化柔和
微软:3面,手写算法题目, 看编程之美,程序员代码面试指南, 准备充分就OK了
猿题库:3面,手写算法:2面远程,在线编程,1面线程,链表,数组居多,不涉及树图。
今日头条:3面,2,3题算法题,基础知识, 随着面试进度,越来越偏底层
最后:
1.充分的准备 数据结构, 在线编程刷题,看书基础知识, 实践项目, 兼顾计算机基础知识,自己的知识积累最重要,其他面经,题库,也只是景上添花。
2.心态调整好,第一公司选择最重要,成功则一路信心倍增
3.每次面完做总结,思考,学习,提高
4.关注新技术,关注开源项目
5.多花功夫,只有比别人更努力才行
6.祝找工作的新的一年顺利找到自己满意的工作。。