面试中高级java的一些体会

做为一名高级开发工程师,笔试题就不用作了,大多数是不用作的,都是约好后填一张表格,我的信息和教育培训经历,公司任职经历,和期待薪资,我我的不留身份证号的,怕泄露信息,若是写上家公司的联系方式必定要写座机。面试要求再也不是简单的crud,必须在某一起领域有本身更深的看法,由于面试你的人能力都会比较高,若是在能力上不能和他作一个深度的交流,天然不会获得承认。我的以为能够从如下几个方面注重经验的积累。 Java虚拟机和内存优化 好比你对java虚拟机和源码了解的比较透彻,建议你们有时间把jdk的源码下下来,多看看里面一些类的方法和实现逻辑,好比String类,List和Map集合,并发包等等,知道内部一些类的实现方式和原理,这个并非有太多人去问,本身这一方面比较精通的话能够在面试过程当中把话题往这方面引导,若是能聊的来而面试你的人对这块还没你熟,天然成功的机会更大一些。java

设计模式 设计模式也是一个比较大的块,好比本身十分了解设计模式这块儿,熟练到能够任意用设计模式写出demo并理解其中的优缺点和使用场景。对此本身的了解是,大多数人仅限于了解一些经常使用设计模式,好比单例,工厂等,有好多人也是看完当时理解以后长时间不用又就忘记了,本身也有这样的体验,尽量仍是把经常使用一些模式的案例多写几遍,多体会体会才能理解其中的思想,写代码过程当中很难有机会用设计模式去重构或实现一些东西,若是有这些方面的一些写代码和优化经验,那确定是加分的,其实即便是单例模式线程安全的也有好几种写法,怎样最好用又是线程安全的,其它的写法为什么不安全,都要去了解。程序员

工做职责和解决的难题 实际工做中担负的责任和解决的难题,必定要有一两个本身实际解决的生产环境的重大灾难,问题故障怎么发生的,致使的结果是什么,针对这样悲剧的后果,本身采起的什么措施如何解决的,解决的效果若是很棒的话,那确定是加分的,若是实在没有这方面的经验,那在面试过程当中极可能就会被认为经验不足了。有些面试官的要求给人的感受很像是,你最好作出过一个优秀的产品,这个产品的运行稳定可靠甚至产生了很好的效益。面试

开发过程关键点总结
多总结,再厉害的程序员也是从初级到中级到高级一步步提高的,对本身参与过的项目要有很深的认识,实际工做中你们大部分都是模块开发工做,有些库表都是设计好的,甚至整个系统的框架搭建都是项目经理作的,本身只是在重复,可能更多的是设计一个简单的表或改改表中的字段和属性,添加逻辑功能,若是本身总结很少,那么在面试过程当中问到简历上一些项目比较深的地方可能本身都说不清楚,最多回答本身没负责这块,业务不太熟悉,这天然是扣分的表现,所以在实际开发过程当中必定要多注意一些问题的积累,把一个问题研究的比较透彻和深刻,好比表中数据是Integer类型的,想拿表中的一个数据和一个大于128的数字比较时,二者数值相等,但始终不进if语句块,针对这种问题本身深刻了解下去相信确定会有不小的收获,我的感受面试过程就是聊这些经验的过程,若是相似的这样的经验积累的比较多,那确定会加分的,面试成功率也会比较高。

积累一些开发工具,有些本身为了提高开发效率亲手打造的。
多整理和积累一些工具,好比本身写的代码生成工具,用于从表和实体中直接生成dao层和service和controller层甚至页面也能够生成,注重这些工具的积累,在面试中会有很大的优点,减小了简单工做的重复,提高了工做效率会成为加分项。

做为一名中高级开发工程师不能仅仅停留在实现业务完成工做的层次上了,还要懂得深刻的原理和项目优化的经验,事务甚至是分布式事务管理,远程方法调用事务处理,数据库的redo和undo,各类数据库使用场景和优化经验甚至实现原理等等,集群配置和实战都要有一个比较深刻的了解。

本身工做以外会作什么?除了学习以外要有本身的兴趣爱好,多培养一些本身的兴趣爱好并长时间的去作,不但要有爱好还要为你的爱好付出过什么,甚至获得或失去过什么,这样会给人感受是比较懂生活有情趣的人,天然也会招人喜欢。尽量多体验生活,给别人不同的观点或有价值的建议和帮助,颇有助于快速融入团队。

程序员要有终身学习的习惯,但也要兼顾工做和生活的平衡,但愿经过不断的学习和积累,最终都拿到本身一个比较期待和理想的职位。
相关文章
相关标签/搜索