正文开始前先奉上任老总前两天在华为举行战略预备队学员和新员工座谈会上的四句经典语录:
1、今天你们在会上鼓掌,浪费了很多能量,这个能量以后要用于产粮食,鼓掌又不能发电。鼓掌太多,容易造成个人迷信。
2、少玩游戏,晚上和周末多看学术性文章和技术性文献,趁灯塔还没熄,多看看指路明灯。不要总是埋头苦干。
3、将来华为岗位分为三个类别:职员类、专家类、管理类。职员类可以干到六十、七十岁,只要力气按得动键盘就行了。主官和主管每年强制性10%的末位淘汰。
4“、要让打胜仗的思想成为一种信仰;没有退路就是胜利之路”,我们高举美国将领的话,向美国学习的精神并没有因为美国打击我们而改变。
前言
就今年大环境来看,跳槽成功的难度比往年高很多,一个明显的感受:今年的Java技术栈面试,无论一面还是二面,都特别考验Java程序员的技术功底。作为一个Java后端开发,趁金九银十之际也面试了好几家公司,一线大厂当然是少不了,BATJ、字节跳动等,大概给我的一个感觉就是:这些公司对程序员的要求真的是越来越高了。所以,今天就来聊一聊这几次面试给我的一些具体感受,分享给大家,希望能够提供一些帮助(仅供参考)。
- 别让人感觉你只会山寨别人的代码
- 单机版够用?适当了解些分布式
- 数据库方面,别就知道增删改查,得了解性能优化
- Java 核心方面,围绕数据结构和性能优化准备面试题
- Linux 方面,至少了解如何看日志排查问题
- 通读一段底层代码,作为加分项
- 一切的一切,把上述技能嵌入到你做过的项目里
小结:本文更多讲述的准备面试的方法
1. 别让人感觉你只会山寨别人的代码
框架是重点,但别让人感觉你只会山寨别人的代码!在面试前,面试官一般会阅读简历以查看候选人在框架方面的项目经验,在候选人的项目介绍的环节,面试官也会着重关注候选人最近的框架经验,目前比较热门的是SSM。
不过,一般工作在5年内的候选人,大多仅仅是能“山寨”别人的代码,也就是说能在现有框架的基础上,照着别人写的流程,扩展出新的功能模块。比如要写个股票挂单的功能模块,是会模仿现有的下单流程,然后从前端到后端再到数据库,依样画葫芦写一遍,最多把功能相关的代码点改掉。
其实我们每个人都这样过来的,但在面试时,如果你仅仅表现出这样的能力,就和大多数人的水平差不多了,在这点就没法体现出你的优势了。
我们知道,如果单纯使用SSM框架,大多数项目都会有痛点。比如数据库性能差,或者业务模块比较复杂,并发量比较高,用Spring MVC里的Controller无法满足跳转的需求。所以我在面试时,面试官还问了一个问题:除了依照现有框架写业务代码时,你还做了哪些改动?
我的回答是:增加了Redis缓存&#