最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备.pdfVIP

最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备.pdf

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
最近⾯试java后端开发的感受:如果就以平时项⽬经验来⾯ 试,通过估计很难——再论⾯试前的准备 在上周,我密集⾯试了若⼲位Java后端的候选⼈,⼯作经验在3到5年间。我的标准其实不复杂:第⼀能⼲活,第⼆Java基础要好,第三 最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来⾯的。 我也知道,不少候选⼈能⼒其实不差,但⾯试时没准备或不会说,这样的⼈可能在进团队⼲活后确实能达到期望,但可能就⽆法通过⾯ 试,但⾯试官总是只根据⾯试情况来判断。 但现实情况是,⼤多数⼈可能⾯试前没准备,或准备⽅法不得当。要知道,我们平时⼲活更偏重于业务,不可能⼤量接触到算法,数据结 构,底层代码这类⾯试必问的问题点,换句话说,⾯试准备点和平时⼯作要点匹配度很⼩。 作为⾯试官,我只能根据候选⼈的回答来决定⾯试结果。不过,与⼈⽅便⾃⼰⽅便,所以我在本⽂⾥,将通过⼀些常⽤的问题来介绍⾯试 的准备技巧。⼤家在看后⼀定会感叹:只要⽅法得当,准备⾯试第⼀不难,第⼆⽤的时间也不会太多。 ⽽且在本⼈的两本书⾥,和,详细地给出了其它相关⾯试技巧。 1 框架是重点,但别让⼈感觉你只会⼭寨别⼈的代码 在⾯试前,我会阅读简历以查看候选⼈在框架⽅⾯的项⽬经验,在候选⼈的项⽬介绍的环节,我也会着重关注候选⼈最近的框架经验,⽬ 前⽐较热门的是SSM。 不过,⼀般⼯作在5年内的候选⼈,⼤多仅仅是能 “⼭寨”别⼈的代码,也就是说能在现有框架的基础上,照着别⼈写的流程,扩展出新 的功能模块。⽐如要写个股票挂单的功能模块,是会模仿现有的下单流程,然后从前端到后端再到数据库,依样画葫芦写⼀遍,最多把功能 相关的代码点改掉。 其实我们每个⼈都这样过来的,但在⾯试时,如果你仅仅表现出这样的能⼒,就和⼤多数⼈的⽔平差不多了,在这点就没法体现出你的优 势了。 我们知道,如果单纯使⽤SSM框架,⼤多数项⽬都会有痛点。⽐如数据库性能差,或者业务模块⽐较复杂,并发量⽐较⾼,⽤Spring MVC⾥的Controller⽆法满⾜跳转的需求。所以我⼀般还会主动问 :你除了依照现有框架写业务代码时,还做了哪些改动? 我听到的回答有:增加了Redis缓存,以避免频繁调⽤⼀些不变的数据。或者,在MyBitas的xml⾥,select语句where条件有isnull, 即这个值有就增加⼀个where条件,对此,会对任何⼀个where增加⼀个不带isnull的查询条件,以免该语句当传⼊参数都是null时,做全表 扫描。或者,⼲脆说,后端异步返回的数据量很⼤,时间很长,我在项⽬⾥就调⼤了异步返回的最⼤时间,或者对返回信息做了压缩处理, 以增加⽹络传输性能。 对于这个问题,我不在乎听到什么回答,我只关⼼回答符不符逻辑。⼀般只要答对,我就会给出“在框架层⾯有⾃⼰的体会,有⼀定的了 解”,否则,我就只会给出“只能在项⽬经理带领下编写框架代码,对框架本⾝了解不多”。 其实,在准备⾯试时,归纳框架⾥的要点并不难,我就不信所有⼈在做项⽬时⼀点积累也没,只要你说出来,可以说,这⽅⾯你就碾压了 将近7成的竞争者。 2 别单纯看单机版的框架,适当了解些分布式 此外,在描述项⽬⾥框架技术时,最好你再带些分布式的技术。下⾯我列些⼤家可以准备的分布式技术。 1 反向代理⽅⾯,nginx的基本配置,⽐如如何通过lua语⾔设置规则,如何设置session粘滞。如果可以,再看些nginx的底层,⽐如协 议,集群设置,失效转移等。 2 远程调⽤dubbo⽅⾯,可以看下dubbo和zookeeper整合的知识点,再深⼀步,了解下dubbo底层的传输协议和序列化⽅式。 3 消息队列⽅⾯,可以看下kafka或任意⼀种组件的使⽤⽅式,简单点可以看下配置,⼯作组的设置,再深⼊点,可以看下Kafka集群, 持久化的⽅式,以及发送消息是⽤长连接还是短拦截。 以上仅仅是⽤3个组件举例,⼤家还可以看下Redis缓存,⽇志框架,MyCAT分库分表等。准备的⽅式有两⼤类,第⼀是要会说怎么 ⽤,这⽐较简单,能通过配置⽂件搭建成⼀个功能模块即可,第⼆是可以适当读些底层代码,以此了解下协议,集群和失效转移之类的⾼级 知识点。 如果能在⾯试中侃侃⽽谈分布式组件的底层,那么得到的评价就会⽐较好了,⽐如 “深⼊了解框架底层”,或 “框架经验丰富”,这样就 算去⾯试架构师也⾏了,更何况是⾼级开发。 3 数据库⽅⾯,别就知道增删改查,得了解性能优化 在实际项⽬⾥,⼤多数程序员⽤到的可能仅仅是增删改查,当我们⽤Mybatis时,这个情况更普遍。不过如果你⾯试时也这样表现,估计

文档评论(0)

134****3224 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档