腾讯java二面(凉半攒人品)~
二面是真的难 都不问你基础知识 大三暑期实习
中午11点视频面试 没让写代码(30min)
下面的回答是当时的回答,不是准确答案哈~
1、自我介绍
2、说下项目,主要用了什么技术?
3、如果现在让你改进项目的话你会怎么做?
可以先把mysql数据库用docker改进为PXC集群,用haproxy进行负载均衡,在后端用redis集群,nginx负载均衡,再到后期的话可以采用分布式dubbo+zookeeper。(从此一发不可收拾。。。。。。)
4、zookeeper用过吗?怎么实现的?
有了解过没用过,答得很浅,只回答了数据的同步、锁相关,节点下有一个版本序列进行控制。
5、集群要考虑什么?
要考虑节点承受不住太多数据而宕机的情况,因此要进行负载均衡进行分配请求等等。。。答得不是很深
6、负载均衡都有那些算法呢?
这个没单独去了解过,但我觉得可以用一个队列记录各个节点的请求,通过计算设置优先级进行轮询分配
7、BIO和NIO的区别?
balabalabala。。。
8、select和epoll的区别?
NIO虽说是非阻塞的但其实select还要轮询去等待获取消息,epoll是让内核去处理再通知它就行了,这点答得很浅而且不太准确,没从底层去答,因为底层实在不太了解
9、你用redis做过什么呢,有什么优点呢?
做过分布式的锁和后端的redis集群,balabala
10、你在后台用nginx进行集群的负载均衡,那新加一个节点怎么保证数据一致?谈谈一致性哈希算法,会产生什么问题?
各个节点形成一个封闭环,数据顺时针加入离它最近的节点里balabala。。。还提到了数据倾斜的问题,设置虚拟节点就好了。
11、了解过微服务吗?
了解过一点,像分布式那样,不过拆分的粒度更小了,每个业务都单独地拆分出来,降低了耦合性,balabala。。。
12、用过什么设计模式吗?
单例模式、工厂模式、模板方法模式(竟然忘了说***模式了我对动态***的源码还是比较了解的。。。)
13、工厂模式怎么用的?有什么优点?
balabalabala。。。。。。
14、谈谈IOC和AOP
balabalabala。。。(又忘说底层的动态***和反射了)
15、刚才谈AOP的时候提到了事务,那你说说mysql的事务特性都有什么?
ACID 原子性、一致性、隔离性、持久性 大致解释了一下
16、你做项目时遇见过数据库查询缓慢吗?当时是什么原因怎么解决的?
刚开始有表设计方面问题,之后又发现在联合查询时没用到索引。
17、如果你表里有一亿条数据怎么去有效的查询数据?
(当时有点小懵,按理说不应该问索引引擎方面的问题吗?)答了mysql的分表,水平拆分和垂直拆分大致说了一下
18、除了分表还有其他方式吗?有用过大数据吗?了解过ai吗?
(这才知道想问的是大数据)表示没学过大数据,但很愿意去学,因为大数据好多也是基于java的,之后肯定会学的。至于ai,之前课程里有用python写过一点很浅的东西,但深层次的不太了解
19、出个逻辑题啊,一个5L杯子一个6L杯子从河里取水,怎么得到3L水?
(有点猝不及防)让我想一下啊。。。过了10s左右。。。嘴里嘟囔着先考虑这种情况,先用6L的取满水倒5L杯子里,6L的就剩1L,再把5L的倒掉,再把6L剩余的倒5L杯子里面。。。(说着说着就畅快了,仿佛抓住了希望的那种感觉)
20、你在专业里排名不错,那你考虑过保研吗?
我竟然耿直的说我可能保不了研,因为成绩不算很好的,这不是打我简历的脸吗?还有我们这个专业比起读研我更看重实践balabala
21、平常除了学习有别的爱好吗?
读书、写诗。。。打篮球算吗?
22、你性格外向还是内向?
不用多说
23、那这次就到这里了,拜拜
到了最后面试官很急地挂了,没问我有啥想问他的。。。心里凉了半截
因为好多高级的知识只答了个大体,好多细节底层实现都没说,大数据也不会。。。现在状态还一直在复试中没有更新。。。
感觉凉了一半,就怕突然变灰