8.30 19:15-20:00,面试官提前5分钟进来,使用的是赛码网进行面试。
1.自我介绍,问在学校里的经历,参加过什么比赛,社团之类的,在社团遇到过什么困难,怎么解决的(让我一度以为不是技术面)
2.介绍一下项目。再开始问java相关的知识。这次面试基本就是问八股文,没挖项目。
3.除了线程池,还有哪些创建线程的方式,Runnable和Callable有什么区别?(本来打算问我线程池的,结果估计看到我简历上写了,就不问了)
4.jvm内存模型,堆和栈的区别?堆主要存放什么?栈主要存放什么?
5.设计模式了解吗?将几个熟悉的(讲了一下单例模式、简单工厂模式、工厂方法模式、还打算讲一讲代理模式的,他说算了,问别的)。
6.谈谈你对索引的理解?什么情况下建索引?什么情况下不建?
7.有哪些索引?(主键、唯一、联合等)。那你说说联合索引(左右连接+内连接)
8.索引的数据结构(B+树跟hash说了下)?为什么不用B树?
9. InnoDB与MyISAM的区别?
10.redis的缓存穿透跟缓存雪崩讲一讲什么意思?解决方法?
11.redis的部署方案?除了单机还有什么(即那个了一下主从、哨兵的优点跟定义)
12.redis常用数据结构有哪些?reids为什么要用单线程?(减少上下文切换、同步机制的开销)
13.用过消息队列是吧?讲一讲rabbitMQ的工作模式?怎样保证消息的可靠性传输?(讲了一下发送方与接收方的确认机制)
14.rabbitMQ如何保证消息的顺序性?(对消息进行编号,消费者根据编号处理消息。 他说这个方法不行,传输一个3,4,1的消息,消费了3就不消费4了?还问我还有没有别的方法,我说不了解了。知道的小伙伴可以在评论区说说)。
15.Spring的IOC了解吗?说说是什么?Bean的生命周期讲一下(这里讲的很简短,也不知道他觉得咋样。解析类,通过构造方法生成对象,然后进行属性填充,初始化,把单例bean放进单例池中,最后用完进行销毁)。
16.最后手撕了一道简单题。
给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。(想了一会,刚写了核心代码就说可以了。)
反问:我表现的怎么样?面试的结果什么时候出来?
答:表现良好,面试结果尽快帮忙跟进。最多一周就会出结果。
#秋招##Java##用友#