Java初级和Java高级面试标准

内容参考于: csdn学院的《Java面试Offer直通车》课程

初级开发

1. java核心

• 熟悉集合,比如ArrayList,HashMap的用法以及底层细节
• 线程方面,知道如何控制线程并发
• JDBC方面会用,了解基本对象,知道事务的用法
• 面向对象方面,知道概念,并知道封装,继承和多态的语法
• 知道异常处理的流程和细节,比如运行期异常和自定义异常
• 最好知道JVM调优,linux基本命令和设计模式在项目里的应用
• 不会问Java界面方面的问题

2. 数据库

• 有Oracle,MySQL等数据库的使用经验
• 会写基本的增删改查语句,了解distinct,group by等用法
• 会用MyBatis,或其它ORM框架
• 知道建表和索引的基本概念
• 别写出长SQL即可,最好有其它数据库调优经验
• MyCAT分库分表等方面,没要求
• 最好知道哪些SQL语句需调优,以及如何调优

3. 框架方面

• 有SSM或其它类似框架的使用经验,能跟着写增删改查即可
• 有从前端到后端再到数据库开发的经验,前端开发技能无要求
• 了解Spring IOC,AOP等的概念,以及基本配置
• 如没SSM框架经验,需要有其它类似MVC框架经验,但也仅限于增删改查
• 部署方面不做要求,但最好有分析排查问题的经验

4. 对初级开发的期望:能跟在项目经理后干活即可

• 被动地被分配任务,能写好代码,写出的代码没大问题
• 没指望能完成性能调优和高级框架方面的活
• 没指望能独当一面地谈接口,或出面协调问题
• 期望值只是会开发,单元测试,部署,项目质量管理方面没要求
• 有三年经验尚处于初级开发还行,再多年限还是初级开发的话
,需要警惕

高级开发

1. 高级开发在Java核心方面的额外标准

• 熟悉集合的底层代码,比如快速失效和ConcurrentHashMap,知
道性能调优和一些常见的坑
• 线程方面,熟悉线程池,线程内存模型以及锁等高级对象
• 面向对象方面,知道如何面向接口编程,以及如何提升代码可扩展性和可维护性,能在项目里合理使用设计模式
• 异常处理方面,知道最佳实践方式
• 知道JVM调优,和排查OOM问题的方法
• 掌握排查问题所需的linux命令

2. 高级开发在数据库方面的额外标准

• 知道如何发现长SQL,以及如何分析和解决长SQL问题
• 知道事务隔离级别,事务传播方式等高级概念
• 会通过索引和执行计划调优SQL语句
• 掌握通过Redis,MyCAT等分布式组件优化数据库的技能
• 不仅会用MyBatis基本语法,更知道事务,分页等技巧

3. 高级开发在框架方面的额外标准

• 未必知道细节,但会用Dubbo,Zookeeper,kafka,netty,MyCat,
Redis,ELK等组件
• 能通过linux命令,安装并部署项目以及组件
• 能查看日志,分析数据库和查看CAT监控等方式,分析排查问题
• 最好了解各分布式组件的细节,以及高并发场景的解决方案
• 最好了解下Sonar,Jenkins等项目部署等相关组件

4. 对高级开发的期望:能独当一面,能解决基本问题

• 能和其它组的人一起协调工作,比如调试,谈接口
• 能主动发现问题,能解决业务方面比较常规的问题
• 能解决OOM,分布式组件方面的基本问题
• 项目经理交代大致的任务,高级开发能自己进一步细化,能做简单的协调,按时按质完成任务
• 一般问题,能给出解决方案,而不是事事请示
• 3年经验后可以升级到高级开发,6年可以升级到架构

FLag: 努力在毕业后5年达到高级以上架构师水准

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值