当前位置: 首页 > news >正文

今天面试了一个2年Java经验的

今天去面试了一个26岁的程序员,看了简历,2年经验,本科,写得很牛叉。

Spring cloud alibaba全家桶、redis,分布式锁,服务调用,数据库事务,线程,Zookeeper、Dubbo 、RabbitMQ,Kafka 都懂。

做的项目也是这类微服务的内容有关。

我同事做算法的,算法工程师,说你问几个简单的,我说他写得那么牛,我不问深一点,貌似对不起自己。

以我过往的经验,把自己写得很牛×的人,大部分都是一知半解的人,所以凡事还是从细节来把握,看看真实水平如何。

1、简述HashMap的数据结构??

他基本就答不上来。

在JDK 7和以下,它是一个数组+链表结构。JDK8和以后,它是一个数组+链表or红黑树结构,当链表深度达到8以上之后,就会构建红黑树,而红黑树达到深度6后,就会进行重构。

首先先计算key的hashcode,然后确定在数组的位置,然后在把元素连接到链表或者红黑树中。

HashMap加载因子是0.75,默认容量是16,当满足16*0.75=12时,就进行重构HashMap结构,这个时候就会比较消耗时间了。所以我们应该尽可能避免这样的事情发生,尽可能第一次分配好空间,以避免重构。

2、HashMap和ConcurrentHashMap的区别是什么??

他也几乎没有反应,把他问蒙了。

HashMap不是线程安全的,而ConcurrentHashMap是线程安全的,只是它的加锁范围较小,适合在高并发下使用。

ConcurrentHashMap是一个线程安全的Map,JDK8之前它的内部在默认的情况下拆分为16个segment(类似HashMap结构),之后是红黑树,允许使用CAS乐观锁,针对某个区域(JDK8之前的segment)加锁,其他的不加锁,所以是一个局部加锁的机制,提高并发能力。

3、Feign进行服务调用,为什么给出服务名称,就能调用??Feign是如何获取服务清单的??

他回答:服务注册给服务治理中心,服务治理中心再告知服务实例。

基本又错了。首先服务在启动时,都注册给服务治理中心,服务治理中心会根据服务名称维护一份服务清单,每个服务节点都要定时续约(向服务治理中心请求告诉服务治理中心我还活着),不能按要求完成续约的就被服务治理中心剔除。而某个服务节点,每隔一段时间(一般是几秒钟)都会向服务治理中心拉去最新服务实例清单,这个过程叫做服务获取,然后缓存本地副本,提供给Feign客户端调用时使用。

ps:本来我还想问断路器的,我看他肯定又不知道,还是算了。

4、数据库事务隔离级别有哪些??会产生哪些问题呢?

这个他比较好,能回答。

未提交读(脏读)

读写提交(不可重读)

可重复读(缓读)

串行化(克服所有的问题)

我在问:一般情况下,采用那个级别就够了??

他回答:可重复读。

我说:错了,一般来说,我们会采用读写提交。

5、Spring AOP是通过动态代理模式来完成的,你能告诉我有哪些通知?执行的顺序是怎么样的吗??

他只能告诉我有哪些通知,包括:前置通知、后置通知、环绕通知、事后通知,返回通知和异常通知。顺序他搞不清楚了。

AOP,执行顺序前置通知、目标方法(环绕通知),如果发生异常执行异常通知,如果没有发生异常执行返回通知,最后执行事后通知。

其实,和我的预测差不多,把简历进行包装,只要面试官认真问些细节的问题,就要露馅了。

我同事问的算法题,他也不太懂,估计要把他给PASS了。

http://www.lryc.cn/news/41719.html

相关文章:

  • 逻辑覆盖测试用例设计
  • 面试官:说一下MySQL中的锁机制吧
  • STL库中list的迭代器实现痛点分析
  • 字符编码对比(GBK、Unicode、UTF-8)
  • 【百面成神】Redis基础11问,你能坚持到第几问
  • 十大排序算法极简汇总篇
  • 数据结构笔记
  • web前端框架——Vue的特性
  • 提权工具推荐(PEASS-ng、linpeas_linux_amd64、winPEASany_ofs)
  • Spark - 继承 FileOutputFormat 实现向 HDFS 地址追加文件
  • 树莓派编程控制继电器及继电器组
  • oracle和mysql的区别
  • <Linux开发> linux应用开发-之-uart通信开发例程
  • 基于深度学习的安全帽检测系统(YOLOv5清新界面版,Python代码)
  • Linux - 进程控制(进程替换)
  • Java中 ==和equals的区别是什么?
  • Linux(网络基础---网络层)
  • 空间信息智能应用团队研究成果介绍及人才引进
  • ChatGPT应用场景与工具推荐
  • 图像分类卷积神经网络模型综述
  • 艹,终于在8226上把灯点亮了
  • 脱不下孔乙己的长衫,现代的年轻人该怎么办?
  • Matlab实现遗传算法
  • 评价公式-均方误差
  • 冲击蓝桥杯-时间问题(必考)
  • 10个杀手级应用的Python自动化脚本
  • 2023​史上最全软件测试工程师常见的面试题总结​ 备战金三银四
  • 2023年全国最新安全员精选真题及答案29
  • 关系数据库的7个基本特征
  • 2023QT面试题总会