昨晚去面了一家叫“有赞”的公司,最后连一面都没过,郁闷。
面试官给出不过的原因如下 3 点:
1.让我画 AQS 的结构时没画出来
---我当时很蒙,AQS 的原理我差不多说清楚了,AQS 里面不就是一个等待队列吗,然后我就画了个队列,标出一些节点
2.问我 dubbo 远程会传哪些东西,
---我说要调用的方法,RPCcontext 里的一些隐藏参数吧,然后不知道其它的了。然后他说,还有方法参数,参数类型啊。????谁工作好几年了不知道调方法要传参数啊
3.spring 加载 xml 配置文件的过程。
这个确实源码看过太久了,而且也看得不多,一下答不上来,我认了
我的答题状况如下:
1.问并发的时候,volatile 的原理,内存语义,重排序的原因( CPU 的流水线缺陷,流水线的数据冒险,控制冒险)
内存屏障等都说清楚了; synchronized 从对象头,栈锁,Minitor Object,从偏向锁、轻量级锁、自旋、重量级锁,都差不多说清楚了; lock 的原理,AQS 基于 volatile 变量 state 的内存语义,acquire 的过程等都说清楚了;
2.问 JVM 和 GC 时,整个 JVM 区域,原理,一一列出来,GC 原理,各种 GC 算法(除了 G1,因为不是太熟练,就没说)也都一一说清楚了;
3.问 redis 时,先问有哪些数据类型时,因为我说得太急,直接把各种类型的底层结构( sds,linkedList,zpilist,skiplist)说了一遍,导致他后来说我很多东西是背的,???
(我从来没去背过这种东西,但确实有些东西是为了面试去看的,而且看一两遍的东西,面试时根本回答不上问题,要多次看了,理解后才能成为自己的东西)
4.问 rabbitMq 时,说了些自己使用的场景,以及发送端确认,消费者确认,死信队列在支付订单超时时的应用等。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.