9.14华为一面,感觉被蹂躏了
投的南研所的数通,一面还未开始二面已经约好
下午一面
开始手撕代码,面试官很好,给了三个题目选择
一个单链表,把所有的奇数位置节点和偶数位置节点分别排在一起,奇数在前偶数在后,最后输出重新连接后的链表头结点;
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案
(剩下一个没想起来)
我选择了频率K,这个环节很波折,写完之后,面试官说你写几个边界问题,然后说到了{1,1,2,2,3,3} k=2 输出1 2的问题,说应该输出1 2 3,怎么改
在他的指导下,把这个问题解决了
接着问了很多问题,如下(努力回忆)
你知道spring boot的事务吗?
哪些场景用事务,哪些场景不用事务
你用过java锁吗 synchronized 对静态方法和非静态方法 所加的对象分别是什么
如果不用redis如何做分布式锁
in和exist的区别
有索引但很慢的原因,如何调优?
(我只回答了左前缀,但面试官说还有很多情况
)
都按照索引走了 但是 面对千万级别的数据 还是很慢 怎么办?
面试官最后给了点评:知识面还是很广的,但是深度不够,希望你可以多了解底层的原理