高级Java工程师要求

最近在面试高级Java工程师,想谈谈我心中高级Java工程师的样子:

  • 简历部分:
    为什么还要写性别,民族,籍贯什么的其实没太必要写,这些都工作价值很大么,邮箱不要用QQ邮箱,不要问为什么。不同阶段简历肯定不同,应届生的简历应该突出基础能力,例如数据机构算法,网络基础,Java Web基础原理和主流框架的熟练程度,编程基础能够决定是否要你,工程应用能力决定能达到什么高度。工作两年以上,我希望能看到在某一方面有十分深入的理解,例如并发,数据库,框架源码级别,或是JVM等等。

  • 关于面试部分:

面试后端题目
自我介绍:
项目情况:
1.主要的职责
2.主要的贡献
3.解决的难点
4.心得
基础:
1.数据结构算法
2.多线程模型
3.servlet原理
4.JDBC原理
5.spring特点
中高级特性:
1.并发包
2.类加载机制
3.GC原理与调优
4.设计模式与框架源码
5.spring IOC AOP原理与优点
数据库:
1.复杂SQL与优化
2.事务机制
3.spring事务应用
4.索引原理
架构能力:
1.用过哪些中间件
2.zookeeper作用
3.分布式事务解决
4.缓存
5.CAP和BASE和ACID的理解
沟通和学习能力职业规划:
1.平时怎么学习
2.喜欢逛什么社区
3.未来打算如何
4.对公司看法,有什么想问的

以上这些要点是我在十分钟内罗列的,没有参考任何资料,这些要点是我的经验和各种项目和整个业界对高级工程师的期望。
接下来谈谈我考察这些部分的理由吧。
自我介绍和项目介绍,能够对面试者有个整体的印象了解,例如表达沟通能力和大概工作背景,因为是社会招聘,不仅要看项目经验,更要看你在项目中所扮演的角色,解决的难点,穿插当中的问题可以考察工程应用能力。甚至会让画出架构图。
然后了解了项目之后我会进入技术能力的考察,如果我对项目介绍满意,Java基础部分我会选择性问一问,我是比较喜欢连环炮的,例如问数据结构算法,我会问数组和链表区别,然后问jdk中线程的类的是实现,然后问及相关的数据结构,然后问到实现细节,然后线程安全与否等等,一条线能够问到很深入。如果中途遇到你不太熟悉的程度我会纪录一下,然后问向其他部分,多来几个连环炮,基本上就能知道一个人的能力了,当然如果有必要,我会让现场写代码,例如我今天上午就让一个面试者写一个死锁的例子。接下来我来模拟几个连环炮:
  1. 多线程模型 - > 各种状态之间转换 -> jdk常见的并发类 -> 如何保证线程安全 -> volatile实现原理 -> 线程池与队列 -> 调优
  2. spring 特点 -> AOP原理 -> 代理种类 -> 实现细节 -> CGLib局限 -> 性能如何
  3. JVM组成 -> 内存模型 -> 垃圾收集算法 -> 类加载 -> 收集器类型 -> 如何调优
  4. spring MVC 组成 - > 怎么映射控制器 -> 控制器单例否 -> 拦截器应用
  5. 使用过MySQL -> 数据库引擎区别 -> 事务控制 - > 隔离级别 -> 加锁种类区别 -> spring事务传播 -> 区别
  6. 分布式和集群区别 -> 服务发现和负载均衡 -> 中间件 -> 分布式事务处理 -> 缓存设计
前4个能答好是关键,第5个不熟悉没关系,毕竟才进来不可能让去你考虑架构。
以上连环炮能扛住,我就会问问平时怎么学习,毕竟我觉得能回答好上面的人都不简单,如何学习的对我也是一个启发,也能看出对方是否充满激情,未来的追求,能够了解面试者是架构师路线合适技术管理路线。
技术博客能体现一个人学习分享的欲望,如果开源账号和博客平时并没怎么更新,还不如不要写出来,反而给面试官感觉并不好。
最后一般会让面试者给面试官提问的机会,这个时候你可以问一些职位相关的问题,表示你是在认真考虑这份工作,这个看个人。
  • 15
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值