金山云 JAVA 一面+二面面经 已拒
一面-30min 11月16日
1、算法,求第k大
说了快排的思路,然后开始C++敲,面试官说加大难度让我用java写,写了2分钟,逻辑上没问题,但是编译不了,面试官也上手调试,结果最后搞了15分钟都没能运行,期间提议用C++打一遍被拒绝。。。然后问复杂度,我说最坏复杂度还是会到n^2,然后扯了一些东西,回去后看了下好像随机化的话期望复杂度是O(n)?
2、有了int为什么还要Integer?
我说我只知道java面向对象,Integer封装了一些方法啥的,他说还有呢,不清楚了。
3、Java泛型的好处及底层原理
泛型扯了一点东西,但是底层原理是真不知道。
然后说你这样我就没什么可问的了,我说为什么不问JUC、JVM、IO、集合这些呢(项目一直用Golang写的,Java纯属八股文选手),他说这些我可以问,首先应该更重要的是java基础这方面,我说java基础这些我确实不扎实
4、try catch finally的各种问题
具体忘了好像有finally一定执行吗,抛出异常咋办,return值咋办的问题,但是牛客刷题刷到过,所以都答出来了
5、接口和抽象类的区别
从宏观微观角度讲了下,然后他问接口可以有方法实现么,我说java后面的版本可以,然后他问为什么要设计接口内可以有方法实现,我说不知道。。如果让我写接口我肯定不会去在接口里写方法实现。。
6、concurrenthashmap是如何实现线程安全的
我说cas和sync,然后他就没问了,问我java里面有没有可以排序的线程安全的集合,我说红黑树?treemap?他说线程安全,我说不知道了。现在想一下好像想让我说跳表吧
7、Sync锁讲一讲,然后具体的锁静态方法?锁普通方法?有没有冲突?会怎样。
把偏向锁、轻量级锁、重量级锁的八股背了背。后面的牛客刷到过,和他具体分析了下,应该都答出来了。
一面就记得这些东西,好像还问了其他一些,记不太清了
个人觉得答得挺差的,主要八股好久没看了,但是莫名其妙过了,给我发了第二天的面试预约
二面-30min 11月17日
面试官电脑出问题了,一直没声音,搞了大概10分钟,最后加了微信,用微信语音。。。
1、简历里写了了解计算机网络,那网络编程这方面有了解吗
我说我就会OSI七层模型那东西,网络编程不了解
2、让你去设计一个网络通信,你会去怎么设计?(八股选手,其他我是真不了解啊)
我说我更倾向于在UDP协议上增加一些规则比如ACK机制啥的去通信,比如http3.0用的quic+UDP对不对,然后一堆扯,他说为啥要用UDP呢,我说方便,可以基于你想要的结果去定制化,而TCP很多东西已经给你定好了
3、那如果是应用层协议呢,你会去怎么设计?
我说不知道啊,http那种?请求头,请求体,请求行?他提醒说如何让服务端知道收到的消息是对的。我说校验和。
4、UDP和TCP区别
八股、比如头部长度,是否面向连接,是否可靠,面向字节流还是报文传输、一对一,一对多,多对多差异,然后问UDP为什么支持一对多或者多对多,我说不清楚,只知道它有一个源端口和目的端口。他说广播。
5、http和https区别
我说https在http的基础上加了ssl握手,他说只是了解吗,实现知道么,然后我把ssl握手八股背了一遍,握手过程,三个随机数,CA证书公匙私匙、对称加密和非对称加密,加密算法等。
6、项目一些问题
7、kafka相关
为什么快:batch传输,压缩算法,零拷贝,磁盘顺序写入
其他呢:索引文件(时间戳、偏移量),日志存在磁盘,基于offset、索引啥的。然后又有删除策略。三种ack机制。
如何保证不重复消费?我说幂等性,需要你自己去客户端保证。他说那kafka中呢?我说offset?一个消息确定被消费后offset会向后偏移一位。
8、你说你熟悉raft,那你说一下raft
说了raft是一个共识算法,为了保证数据一致性。
他问raft是如何保证数据一致性的?
简单讲了下Leader、Follower、Candidate,超时选举,投票、预投票机制,主从复制,日志提交啥的,然后提了一嘴它本身应该不保证强一致性,取决于你怎么去使用。
9、你说raft本身不保证强一致性,那你说如何才能保证强一致性呢?
和他讲了一下etcd里面是怎样基于raft保证强一致性的。
10、算法,面试官找了几分钟,弄得我心很慌,结果最后是写个排序。。。两分钟打了个快排
更新 11月22日 电话
1、接不接受武汉base,家在哪里
2、期望薪资
3、有没有其他offer
4、这周末或下周出结果
更新 11月25日 电话
1、说了薪资,和offershow上双非本的一样,餐补700,base武汉
2、部门是什么大数据啥的,做的是操作系统、硬件交互(好像很高级?)
更新 12月7日 发offer
需要两个工作日内确认
总结
感觉总体面试流程还是偏简单的,问的感觉都比较浅吧。
看了下金山云的其他面经,感觉我这个连暑期实习的难度都比不上啊。
笔试也挺水的,半小时不到就写完了,一面答的那么差也让我过了,问的也比较浅,咋筛人的咱也不清楚。
流程方面的速度确实挺快的,面试体验也非常好,就不知道脉脉上说的是否是真的
#金山云##秋招2023#