南京中电28所一轮技术面——8-13k
总体介绍
这次面试没有拷打项目,只问了八股。
面试题目
1,先做一个自我介绍吧
2,说一下你用过的集合类有哪些?
追问:你有用过Queue吧 答:自定义线程池的时候用到过......
3,说一下HashMap的底层原理
备注:我说了HashMap底层原理,扩容机制。他又追问了扩容相关的问题: 追问:1)如果HashMap整个哈希表长度没有达到64,只是32,但是哈希桶的链表长度超过8位了,此时会发生什么? 我回答说还是链表,不会变成红黑树,其他就不知道了。面试官会心一笑,然后讲解+安慰;
4,我看你了解ConcurrentHashMap,说一下它的底层原理
追问:1)那你说一下ConcurrentHashMap为什么是线程安全的,它的底层是怎么实现的? 答:1.7及之前分段锁;1.8之后CAS+synchronized锁(大致是这个,具体细节就不写了)
5,说到锁,我看你还了解JUC,你说一下AQS的原理吧
追问:CLH你了解吗,我说是基于自旋的链表队列。
6,你刚才说你用到过线程池,说一下它的执行流程
追问: 1)听你说到拒绝策略,那线程池默认的拒绝策略是什么你知道吗? 2)那其他拒绝策略你有了解吗?简单说一下
7,ThreadLocal有用到过吗?说一下它是什么,怎么用的
备注:我说了一下是什么,然后我说我登录校验用来存用户Id,用来获取当前登录用户,他追问 追问:1)那在使用ThreadLocal的时候要注意哪些问题 答:需要防止内存泄漏,记得每次清除;
8,说一下你都用过哪些设计模式
备注:这题倒是没细问
9,看你熟悉JVM,说一下JVM内存模型是什么
追问:1)双亲委派模型是什么,是解决什么问题的
9,说一下你理解的MVCC
备注:这题回答的没有条理,不够深刻
10,你还搭建过Redis的主从集群吗?
备注:他看我简历写了熟悉redis主从复制原理,我说我没搭建过,只是了解原理(我应该说我搭建过的,毕竟看过也算自己做过哈哈)
11,那Redis你都用来做什么?说一下Big Key问题怎么解决
备注:这题我只知道把大key分成小key进行存储,没仔细学,要补一下,面试官细心讲解还能存在本地,由此 追问:1)用没用过本地缓存Ehcache,我说我只用过Caffine,他倒很友善,说也可以,都差不多;
12,说一下Spring IOC、AOP的原理机制
备注:这题回答的不够全面 追问:1)Spring AOP你都在哪些地方用到过
13,说一下你理解的Spring跟SpringBoot的区别
备注:这题答的不好,面试官看出来我传统的SSM架构用的不多,像Bean配置方式、打包方式、SpringBoot内嵌了Tomcat,这些我当时没想到,其实是会的,还得再熟悉熟悉。
14,SpringCloud的Nacos配置中心是怎么注册和发现服务的?
15,你还有什么要问我的吗?
答:公司业务、加班、出差、薪资、对我的面试评价;
