现在正值大家跳槽面试的高峰时期,今天小编给大家分享一个案例:4年Java开发经验,应聘薪资16K没过...

咱先看这位老弟的简历

基本情况:

  • xx,26岁,毕业于青岛理工大学,有4年的开发经验…

专业技能:

  • 熟悉Sping 了解SpringMVC、SpringBoot、 Mybatis 等框架、了 解SpringCloud微服务

  • 熟悉常用项目管理工具: SVN、 GIT、MAVEN、 Jenkins

  • 熟悉 Nginx、tomcat 等的调优

  • 熟悉多线程、并发

  • 熟悉分布式协同框架Zookeeper、 RPC服务框架Dubbo

  • 了 解分布式消息框架Kafka、RocketMQ

  • 熟悉分布式缓存 Redis、memcache

  • 熟悉分布式数 据中间件sharding-jdbc做分库分表、读写分离

  • 熟悉分布式搜索引擎ELK

教育经历:

image.png

上其面试过程

面试题一:HashMap底层实现

面-面试官,应-应聘者

  • 面:说下HashMap底层存储结构和原理

  • 应:存储结构:数组+链表+ JDK8之后用红黑树,是采用hash算法进行定位存储的。

  • 面:你说到JDK8红黑树,你知道为什么JDK8用红黑树吗?

  • 应:不知道,我记得有一一个阈值是8 ,链表长度达到8就转成红黑树。

  • 面:我是问为什么JDK8要用红黑树在之前数组和链表就可以实现,为什么还要新增红黑树?

  • 应:额额额…不太清楚

面试题二:Spring AOP底层实现

  • 面:spring aop你在项目中是怎么用的?

  • 应:我在**康在线理赔系统用到了AOP,实现日志记录与权限管理…

  • 面:那能说下其实现源码吗?

  • 应:AOP是在面向切面编程,底层是采用动态代理实现的 cglib和java动态代理

  • 面:你知道cglib和java动态底层实现原理吗? InvocationHandler这个接口有一个什么方法我们必须实现它?

  • 应:印象不深了…

面试题三:分布式Session、Dubbo、Zookeeper问题

  • 面:分布式session致性为何不用nginx iphash ?

  • 应:nginx不太熟悉

  • 面:Dubbo发布服务和订阅服务在Zookeeper创建的节点为什么节点?

  • 应:leader和follower节点

  • 面:我不是问节点角色,我是问节点类型

  • 应:…不太记得了

  • 面:回去等通知…面试结束

总结:

面试过程中,大概20分钟左右,自我介绍和项目聊了大概7-8分钟,另外10几分钟主要是聊了一些技术问题。

这次问的相对来说不会太难,因为工作4年要16k薪资不是很高,最后还是没有给第二面的机会,主要还是觉得对技术深度不够,广度是OK的。

此外,再过几天就到9月了,金九银十的秋招高峰即将来临,为助力面试我整理了以下的

Java刷题和学习笔记(--戳此获取)

第一步:刷刷刷

这里总共分类整了6个部分的面试题:

  • 第一部分:Java基础-中级-高级

  • 第二部分:开源框架(SSM:Spring+SpringMVC+MyBatis)

  • 第三部分:性能调优(JVM+MySQL+Tomcat)

  • 第四部分:分布式(限流:ZK+Nginx;缓存:Redis+MongoDB+Memcached;通讯:MQ+kafka)

  • 第五部分:微服务(SpringBoot+SpringCloud+Dubbo)

  • 第六部分:其他:并发编程+设计模式+数据结构与算法+网络

image

其次便是新得的资源:《Java权威面试指南(阿里版)》

image

image

第二步:巩固知识--Java核心知识集

JVM,JAVA集合,网络,JAVA多线程并发,JAVA基础,Spring原理,微服务,Zookeeper,Kafka,RabbitMQ,Hbase,MongoDB,Cassandra,设计模式,负载均衡,数据库,一致性哈希,JAVA算法,数据结构,加密算法,分布式缓存

image

第三步:大厂真题测试

image