以下才是重点:
1.自我介绍
2.手撕代码环节:
最长回文子串
解法:动态规划
public class Solution { public String longestPalindrome(String s) { int len = s.length(); if (len < 2) { return s; } int maxLen = 1; int begin = 0; // dp[i][j] 表示 s[i..j] 是否是回文串 boolean[][] dp = new boolean[len][len]; // 初始化:所有长度为 1 的子串都是回文串 for (int i = 0; i < len; i++) { dp[i][i] = true; } char[] charArray = s.toCharArray(); // 递推开始 // 先枚举子串长度 for (int L = 2; L <= len; L++) { // 枚举左边界,左边界的上限设置可以宽松一些 for (int i = 0; i < len; i++) { // 由 L 和 i 可以确定右边界,即 j - i + 1 = L 得 int j = L + i - 1; // 如果右边界越界,就可以退出当前循环 if (j >= len) { break; } if (charArray[i] != charArray[j]) { dp[i][j] = false; } else { if (j - i < 3) { dp[i][j] = true; } else { dp[i][j] = dp[i + 1][j - 1]; } } // 只要 dp[i][L] == true 成立,就表示子串 s[i..L] 是回文,此时记录回文长度和起始位置 if (dp[i][j] && j - i + 1 > maxLen) { maxLen = j - i + 1; begin = i; } } } return s.substring(begin, begin + maxLen); } }
3.项目AND八股
1、秒杀项目是完全你自己做的?(是的)
2、能详细介绍一下接口优化吗?
3、关于分布式session,你用redis存储,是用的持久化的吗,还是非持久化的?(非持久化)
4、如果是非持久化的,那你的超时时间怎么讲?怎么设置的?(经验法)
5、那你给我讲一下redis吧,你对redis的理解
6、你提到了主从复制、哨兵模式,能给我讲一下这一块吗?
7、它是增强读还是增强读写?
8、哨兵模式呢?
9、我看你项目里也用到了消息系统,那在你的秒杀系统场景下,你是怎么用的消息的?
10、如果说这台消息的broker(服务端)挂了呢?就是你刚才写的那个节点挂了呢,怎么办?
11、消息一直重发,它的压力不会很大吗?(会)
12、对于这种问题,rabbitmq和kafka你知道它们是怎么解决的吗?(使用消息队列的分布式)
13、刚才你提到把消息写到多个节点,那写多个节点怎么做呢?(同步写各自读,保证一致性)
14、要保证多个节点的一致性,要怎么做呢?
15、这个时候消费者端该如何消费呢?
16、介绍一下nacos这一块吧
17、刚刚你提到,zookeeper可用性差一点,那它可用性差在哪里?
18、以两个机房为例,讲一讲nacos可用性为什么高、zookeeper为什么低?
19、zookeeper是两个机房都不可用吗?
20、zk其实是用的类似raft协议,你可以讲一下吗?或者就讲nacos的。
21、断网以后,两个节点这边能接受写的请求吗?
22、你能讲一下Distro协议吗?
23、服务被A转发到对应的负责节点B,之后B会做哪些事情?
24、B节点如何同步服务到其他节点?(什么策略)
25、hash并取余是寻找server还是同步的时候做的?
26、nacos配置管理这方面了解吗?
27、nacos前一段时间发布了2.0版本,有关注吗?
28、你有用过2.0吗?
29、jvm里的一些GC的过程,分代收集之类的能介绍一下吗?(大概介绍GC的对象,四种策略,七种收集器)
30、平常会用哪类的垃圾回收器?配置会用哪个?(回答没用过,场景准备不足)
31、那你知道CMS或者G1这种吗?(知道,分别介绍原理,CMS四个过程,G1的region)
32、CMS你没有用过对吧,你只是知道它的原理(是)
33、你有没有处理过full gc的问题?(没有,又是实战场景)
34、算法方面,分布式的一些算法你了解吗?比如说一致性hash算法。
35、那一致性hash算法是解决什么问题呢?或者说它有什么优势?你刚才说的这么多,它这样做的原因是什么?
36、关于TCP方面,你介绍一下三次握手呗?
37、那关于tcp上面的滑动窗口,你有了解吗?(拥塞控制)
38、专业方面做过的项目能介绍一下吗?不用说实现细节,可以讲一下团队协同之类的。(科研方向)
39、为什么不继续做你现在的专业方向呢?为什么不继续做这个行业?(一时语塞,这是不够自信的表现,我感觉应该反手吹一波公司和自己的兴趣爱好在此)
40、你未来两到三年的职业规划是什么样的?(又是一时语塞,说学习进步吧)
41、现在不管是中间件还是云容器,都逐渐在往云原生在走,你对云原生是怎么理解的?(笔者听不懂)
42、刚刚说的可能更偏向云计算,那云原生呢?(笔者听不懂)
4.OB的总结&&提问
1.对场景题的准备不充分,面试官更希望听到你在实际中遇到对应情况是怎么处理的,而不是理论如何如何。比如REDIS突然挂了咋办,GC收集器自己实战中是如何调优的,而不是有哪些收集器。
2.不够自信,回答问题完习惯说“我知道的就这么多了”这会给面试官留下仅此而已的不好印象。宁可不说,也不主动泄露底细
3.和面试官互动不足,全程表现有些怯场,多练练就好了
提问:本次面试持续1.5H,小伙伴们遇到这种压测一般的连环追击该如何调整心态,顶住面试官的压力的呢?
看完了点个赞呗😀😀😀,祝大家都能上岸
全部评论
(9) 回帖