首页 > 面试复盘|素人网易云の初体验,问题n本番连击
头像
爱考拉爱生活
编辑于 2021-09-22 19:02
+ 关注

面试复盘|素人网易云の初体验,问题n本番连击



以下才是重点:


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) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

近期精华帖

热门推荐