商汤一面面经
大概是十月十号在***上投的商汤实习简历,十月二十号打电话给我说简历过了筛选,约了二十三号下午四点的面试,这儿做个总结。
三点五十三面试官就进场了,所以提前开始,先让我简单做了个自我介绍。
一开始给了道算法题,Leetcode简单难度,给了一个一维数组,给了一个行数和列数,要求我转换成二维数组,我一开始写了一个解法他说我不对……然后换了一个解法,但是我觉得我一开始的解法是没有问题的,反正就这样过了,难度也不大,没啥好说的。
然后看我的简历,先问了我一下AQS,我大概讲了AQS的入队规则以及自旋的情况,还扯了扯公平锁非公平锁。
接着问我并发容器的内容,问我了解哪些,我说了ConCurrentHashMap,CopyOnWriteArrayList,我还以为他会问我前者,结果问了我后者,我扯了扯顺便讲了conCurrentHashMap的扩容还有redis的rehash机制,因为他们有一点相似度。
然后聊了聊JVM,问了我JVM的内存分区,我把大概的内存分配策略、内存分区(老年代啥的)、垃圾回收算法都讲了一遍,面试官说嗯,就过了。
看到我简历上的Mysql,面试官就问了问Mysql的锁,我扯了扯读锁写锁,然后扯到乐观锁,接着联想到一致性非锁定读,再接着讲了下MVCC,最后提了一下Key Lock,Gap Lock,Next-Key Lock。
接着问事务隔离类型,我一开始以为是事务传播机制,扯了些杂七杂八他说不对,然后就换了,接着讲那四种类型,然后扯了扯会产生的并发问题。
然后就结束了,让我反问,第一次面试没啥经验就问他我面的咋样,他说基础不错,可以等二面了,事后朋友和我说我才知道不该这么问……面试大概持续了半个小时吧,问的东西也很基础很简单,计网操作系统redis这些简历上的东西也都没问。