项目部分:
14.看你用过缓存,你们一般用什么缓存?用来解决什么问题?
15.redis是怎么部署的?主从部署?有了解过redis集群部署吗?我说redis集群部署没有了
解过,但是有了解过mysql的集群部署,有读写分离部署,主从复制,分库分表等相关方案,面试官也没有具体细问,面试过最后说可以下去了解一下redis的集群部署,因为现在互联网公司大多数都是集群部署的。
16.说一下redis 的数据类型吧?zset 的底层数据结构是啥?zset的适用场景有哪些?我说了热搜榜单排行榜,各种排行榜可以用Zset;
17.说redis的时候说到了redis的集群部署解决了CAP理论中的AP,所以面试官开始问分布式相关知识了?(面试回答问题的时候也可以这样引导面试官,但是我引导错了,因为这部分我了解不多,给自己挖了个坑);说一下CAP 是什么?BASE有了解过吗?
18.上面说CAP的时候说到了Zookeeper保证了C,强一致性性,所以问Zookeeper保持强一致性的原理和算法:有了解过ZAB和Paxos分布式一致性算法吗?具体算法没有说清楚,大概说了一下Leader选择过程,说的不是很细致;最后面试官说下去可以研究一下分布式这部分知识,可以看下Etcd,是一个分布式、可靠KV 存储的分布式系统,使用的协议,和Zookeeper的区别等;
19.看你有用过MQ,你们用的是什么消息队列?用来解决什么问题?怎么用的?是那种模式,点对点还是发布订阅?有消息持久化吗?怎么保证消息的重复消费?
20.SpringBoot的事务有了解过吗?我说用的是Sping的声明式事务(其实想引导面试官到Spring上来的,但是面试官Spring的问题并没有多问),然后事务的注解是什么?
21.你们用的ORM 框架是什么?mybatis?
22.根据表生成对象的时候生成了哪几类对象?分别存放在什么位置?那个包下?
编码部分:
确定某一个整数是不是快乐数?Lettcode 202题,和面试官沟通之后做出来了。
问答环节:
问我有没有想问的问题?
1.由于刚才分布式和redis集群部分回答的不是很好,对于这部分的学习有什么建议吗?可以先学习一下docker容器技术,因为现在大多数部署都是容器技术的,之后可以学点分
布式中间件相关的等等等。。。
2.您所在团队现在使用的技术栈主要是什么?
3.如果有机会的话,后续面试流程是什么样的?
整体感觉:
还是正规互联网公司问的全面,面试官也很亲和,会指导你去回答和解决问题,不像一般公司,问的问题很偏,一方面准备不充分,一方面确实有点不按套路出牌。这次面试一方面是
想尝试一下传说中的大厂面试,另一方面也想检验一下最近的学习成果,对于JVM理论部分和并发与多线程问题的学习反馈。大厂面试上述三部分必须要有突出部分,编码部分是很
重要的,一定要多刷算法题,对于社招也不是太难,所以多刷题,多总结思路,剑指offer和leetcode是不错的选择;项目部分对于做过的东西要知道为什么这么做?如果不这么做会有什么问题?使用过程中遇到过那些问题?对于分布式中间件的问题不会少的,所以一定要
做好准备;基础部分是地基了,一定要打好地基,我大学期间没有学好基础,算法与数据结构、计算机网络、操作系统、数据库理论和mysql,这些基础的东西一定要搞懂,大厂对于基础特别看重,所以如果你还在上大学,一定要多看看这部分,多看看大厂校招和社招JD,不然开始的时候会碰壁很多次。最后说明对于社招来说,上面三个方面必须又要能拿的出的起码两个方面,所以加油吧;没有一件事情是简单的,每个人都有自己的苦恼和要解决的问题,找准自己的定位,想办法解决自己的问题,关键是要追随内心,不能随波逐流,希望我越来越坚强,希望你越来越开心,毕竟活着就是一件很奢侈的事情!周国平先生曾在一个采访中说:他研究尼采,想知道他探究的问题究竟有没有答案,最后得出的结论是:人生本没有什么意义,生老病死,关键是作为你自己,要给你的人生赋予某种意义,愿我们都能给自己的人生赋予某种意义!
全部评论
(2) 回帖