面试中高级java的一些体会

本文为高级开发工程师提供面试指导,强调对Java虚拟机及内存优化的理解,掌握设计模式的应用及场景,分享解决生产环境中复杂问题的经验,以及开发工具和个人兴趣爱好的重要性。

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

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

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

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

积累一些开发工具,有些自己为了提升开发效率亲手打造的。
多整理和积累一些工具,比如自己写的代码生成工具,用于从表和实体中直接生成dao层和service和controller层甚至页面也可以生成,注重这些工具的积累,在面试中会有很大的优势,减少了简单工作的重复,提升了工作效率会成为加分项。

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

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

程序员要有终身学习的习惯,但也要兼顾工作和生活的平衡,希望通过不断的学习和积累,最终都拿到自己一个比较期待和理想的职位。

转载于:https://my.oschina.net/u/2301293/blog/1554372

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值