致java部落师弟妹:
呜呼……秋招过矣!一把心酸泪……
以下主要是我的(笔)面试过程中遇到的一些知识点或者感觉非常重要的知识点以及一些感受,希望能帮助到师弟妹们(主要面向后台开发人员)。
一些想法:(纯个人观点而已)
1. 不要以为你是专攻前端方向的,就完全不理会后台的知识学习。我感觉,BAT这些知名公司,往往都是需要能全栈而又在某个方向有深攻的人。普通中小公司往往就是得全栈。总之:能全栈而有侧重。
2. 底层知识很重要!BAT这些公司面试程序员极其看重数据结构和算法、OS、网络、DB等基础知识的积累和深刻理解,对SSH框架之类的则没怎么看重(甚至对你学什么语言都不理会),因为大公司有能力慢慢培养你们。而中小型公司相对要求没那么高,倾向框架之类的熟练和理解程度,因为中小公司往往比较功利,希望能直接用人。强烈建议在学校时注重基础知识的积累,而别轻易追求新技术。
3. 大公司不一定好,小公司不一定差:找实习,别单纯只看重工资或者公司,而关键找到一个适合自己水平,能让自己短时间迅速成长的公司,因为重头戏在8、9月份的秋招!!一切都是为之铺垫!!
4. 一定别因为自己没有复习好而信心不足而放弃好公司笔试、面试的机会!!没有人是完全准备好的。
5. BAT等大公司往往包容度很高,对学历、学校背景、专业相对没那么看重!
6. 不卑不亢:面试、笔试多了后,你会发现:985211高校学子并非全都是传说中的厉害,甚至很多考不过咋们金子。
7. 你也许会经常跑大学城听宣讲会、笔试、面试,请不要抱怨,请接受现实。
镀金亮点:
1) 你应该有一个技术博客。
2) 你应该在GITHUB上有活跃,如果参与开源或者有自己的开源项目最好不过。
3) 有名的论坛常冒泡: V2EX、SegmentFault……
4) 外国的有名技术网站应该注册一下。StackOverFlow、github……
5) 3月份左右报个软考(中级工程师)、报个编程竞赛
要关注的求职公众号、媒体:
1) 媒体: 拉勾,看准网,大街,猎聘…….
2) 公众号: IT工作机会,广金招生与就业工作处,互联网实习by拉勾网,求职奶爸,第1站,校招日历,阿里味儿,腾讯招聘,TG实习,广州校园资讯,广州校招,
数据结构和算法:(The Most Important!!)
1) 《数据结构和算法-java》我们的教科书!!好重要!那些知识很容易忘,所以需要经常翻阅。里面经典的排序、查找算法一定要做到烂熟于心,随时能写出来。
2) 《剑指offer》:一定要看!!一定要看!!一定要看!!重要的事情说三遍!等你面试次数多了以后,就会发现,大公司面试官问的问题你基本都可以从这本书中找到思路!面试官都是自己看了这本书的后面试我们的!!
3) 一定要刷题:牛客网!!7月算法!!足以!笔试多了,你会发现无非是考那几类题目!
软实力:
1) 阅读源码能力
2) 调试能力:后台eclipse调试;前端chrome调试、firefox调试
3) Java单元测试Junit
Java基础:
网上有好多整理好的JavaSE的基础知识(或者《java面试宝典》),请自行下载。
1) Java的常见集合框架的源码,你得读!各常见框架的特点要烂熟!(线程是否安全、factor优化……一大堆)
2) JVM的底层原理:JVM是怎么启动的?GC算法了解,JVM参数调优等等。推荐《深入理解java虚拟机》。
3) Java多线程:通信,常见编程模型一定要会。结合正则写个简单网页爬虫。
4) 网络编程:你至少能自己搞个聊天室,如果能写个精简版的HTTP服务器最好。
5) IO流操纵文件
6) Jdk自带工具(jdk1.7.0_04\bin\里面的)你要玩一下常见的:Javap,Jinfo,Jconsole,Jstack,Jstat
7) ClassLoader : 双亲委托
8) 能了解了解一下集群、分布式架构等最好。
JavaEE基础:
网上有好多整理好的JavaEE的基础知识,请自行下载。
1) HTTP协议:一定要懂!!!尝试自己写个web服务器的话,你就能深刻理解了。
2) 浏览器-服务器转码原理:中文乱码解决等
3) Tomcat体系结构
4) jsp内置对象……看我们的教科书吧……
5) 上传下载原理
框架:[大公司问得较少,不过核心原理、基本使用一定要掌握!]
重要性排序:
1) Spring框架非常重要!!!IOC , AOP的原理可以自己模拟一下哦!Bean生命周期,BeanFactory,ApplicationContext的区别……(网上有好多面试题,自找即可)
2) MyBatis 似乎比Hibernate 常用了
3) 近年,SpringMVC不断瓜分struts的市场
网络:
1) 三次握手,四次挥手
2) OSI参考模型、网络阻塞、局域网IP规划……总之计网期末考试的题目吧,掌握基础即可。
3) 你应该抓包看看,再结合我们的教科书一起理解。
前端:
1) Javascript掌握,Jquery最好花点时间也掌握了
2) 前端MVC原理理解
3) JSON,XML区别
4) 基本的前端调优:CDN啊,页面静态化,页面压缩传输……自己百度吧
Database
1) 事务一致性的理解!!!!!ACID的深刻理解!!!!三范式!!!!
2) SQL掌握 : 左连接、右连接、全连接、相关查询……
3) 绑定变量的好处
4) 完整性约束:实体完整性、参照完整性、用户定义完整性
5) 悲观锁,乐观锁、共享锁、互斥锁
6) 记住常见索引类型及特点
7) ER图
8) 掌握一套DB的优化方案:如mysql的慢查询,索引提速,sql优化
Linux:(不会也没关系,反正进去后开始学也不迟)
1) 理解目录树
2) 掌握基本操作
3) 懂shell
聊聊面试:
开发类面试一般都是坐在一起轻松聊天形式的,没有什么无领导、演讲之类的其他形式(甚至有些面试官图方便,连自我介绍环节也砍掉),所以心里压力没有那么大。
1) 面试前一定要对其公司、行业有一定了解!!!能说出行业发展近况、公司的明星产品、相关新闻,最好有自己的见解!!!
2) 诚实:别想着你那点小聪明能忽悠阅人无数、功力深厚的面试官
3) 不卑不亢:找工作的根本是要找到适合自己(匹配自己水平且能让自己快速成长)的团队、公司。对于要求一般的公司,面试时没必要“亢”;对于要求过高的公司,面试时没必要“卑”
4) 保持镇定:往往有一些面试官往往表现出严厉、不屑、鄙视的神情,其实他们是故意在给你施压,考验你的心理承受力,所以一定要hold住。否则,慌了你就输了。
5) 吹牛资本:预准备一两个起眼的项目经验,预准备一两个起眼的项目难点创新点以及自己是怎么攻克完成的。
注意:简历(面试)不要写(说)太多的项目,挑一两个感觉最有技术含量、最有新意的亮点项目即可。如果你说你大学时做过好多项目,面试官反而会怀疑你的基础扎实度:你平时做这么多项目,你那些基础知识哪里还有时间积累?项目经验多并不代表能力就高的。一个学生做的项目过多容易令人质疑:你会不会是用一个经验去做多个同类项目,而不是从每个项目中收获不同的经验(知识)。
6) 面试是一个双方博弈的过程。你要学会有意识地引导面试官考核你擅长的知识。等你面试多了,你的城府就会逐渐变深,厉害的同学甚至有能力反客为主。(这种同学,不得不点赞!)
7) 强烈建议:笔试后把不会做的题记住回来再攻克,因为面试时常会问你那些没有完成的题现在会不会做了。
8) 强烈建议:面试过后将自己过程中不熟悉的知识点都恶补一次,否则下次在同一个地方跌倒就很可惜了。最好每面试一次都写一次总结吧。
面经网上也有好多,各位自己上网找吧。不过要知道,面经仅仅是辅助作用,真正还是看个人积累。
说得远点:
1) 实习期间,务必要做好总结,最好将自己每天完成的任务、感慨、攻克的难点、创新点、都记录下来,这些都是你8、9月份的面试吹牛素材。
2) 在好的公司实习,尽量表现好点,和导师、项目组长搞好关系,争取留下转正!
面试、找工作以及实习的过程往往很心酸(心累),师弟妹们一定要做好心理准备----你们将会经历一段过渡期:从学生到半职业人的转变、从做学生作品到做企业产品的转变,谓之曰:蜕变期。这段时间你们心理会很动荡:你们也许会怀疑自己、会抱怨学校家庭、会退缩、会懊悔、会苦恼、会纠结、会伤心,也会欣喜若狂、会突然“打了鸡血”。然而正是这段时期,你会重新思考自己,重新认识这个职业,内心也逐渐强大,这非常可贵。痛苦与收获同在,等你们熬过去了,你们会被自己感动的。过程的痛苦是客观存在的,可是一定要记住:不忘初心,方得始终。
千言万语凝聚一句:
未来一年都会很辛苦,师弟师妹加油!!
eBusinessMan
2015-12-28
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29900383/viewspace-1969061/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29900383/viewspace-1969061/