记一下第一次社招

360

String内容存放在哪儿?

答:运行时常量池,然后我把jvm的内存结构讲了一下,堆、栈、程序计数器、方法区等,每块区域的作用之类的那么问题就来了,jvm的回收机制是什么?

感觉问的有点大,不知道从哪儿说起,只好从分代回收算法说起了,从GC ROOTS的引用链机制到新生代的小空间复制算法再到老生代的标记清除算法,最后就是新生代和老生代之间的关系以及跃迁等。

随后面试官点了点头说那你再讲讲jvm的类加载机制吧,委托双亲机制吧,正准备讲,那小哥问反射机制是如何利用类加载机制的呢?

只好把反射的实现原理也balalala。。。

继续发问,懂哪些设计模式?

答:单例,建造者,观察者,模板方法模式,迭代器模式balala。

你在项目中用到过观察者模式吗,怎么用的?

答:做统一配置组件的时候使用到了zookeeper的发布订阅,创建了监听链表,完成应用系统的注册和同步,balalala,边写代码边讲细节,正讲的起劲,被打断。

你写个单例模式吧,把你认为效率最高的单例实现写出来。

当然是通过jvm的内部类机制实现单例了,又快又安全。

看完面试官点点头,说再写一个双检查的懒汉单例模式吧。

好的遵命。

写完后小哥发问,为什么要用volatile关键字?

答:在高并发时会出现并发模式异常,volatile可以防止指令重排,创建对象操作并不是一个原子操作,分为三个步骤,balala,讲了一通,面试官被说服。

随后面试官发问,能不能讲讲线程的内存模型?

哈哈,幸好以前研究线程可见性的时候研究过这个,讲完面试官很满意。

谈谈你对cas的理解?

答:是指乐观锁吗,还没等我说,面试官说好,你等一下。

二面面试官走了进来,开始发问,假设有一个场景,系统需要某个特定时间内响应用户请求,比如说100ms内完成用户请求,但是在最高峰的时候每单位时间几百万的用户请求,也就是高并发,但我必须要实现系统响应及时,而且高可用(不宕机),假如你是架构师,你该如何架构这个系统,聊聊你的方案。

当时听完脑子就蒙了,恨自己当初没去看那本《大型分布式网站架构》书,于是就开始凭感觉说,首先肯定需要做缓存集群,防止数据库雪崩,数据库如果请求量很大也需要分库分表,各种乱说,说得自己都晕乎乎的。

最后面试官说有的对有的不对,而且没说到点子上,不过可以理解,你只有一年多点的工作经验。然后向我介绍了一下他们部门是做什么业务的,随后问我为什么离职等,到饭点了,我就被拉走了。第二天hr打电话给了offer,聊了聊薪资待遇,360待遇不错,吃饭还免费,挺好的。

陌陌

一面先写代码,写一个二叉树的深度遍历,小case,递归搞定

随后发问mem***的内存管理机制?

答:slab分块管理,最终以chunk分配,维护了一个LRU的双向列表,balabala。。。

然后又问了问zookeeper的一些东东;二面问的比较杂,大部分不记得了,竟然还问vi命令,我也是跪了。

百度

一面刚来就是写代码,一个单链表的算法题目,写完,面试官很满意点点头。

问在你的项目中spring是如何管理zookeeper的?

答:balabala。

了解zookeeper的leader选取算法吗,讲一下他的流程,知道zab算法吗,讲一下他的流程。

汗,问的问题都太变态,没想到会问的这么深,zab算法太复杂了,zab是基于paxos的,而paxos可是获得图灵奖的算法,勉强说了一下,说的很心虚,有好多盲点自己也没搞清楚,不过好在面试官也不往下问了,其实我估计他也不见得会(窃喜),随后让我稍等一下。

一会儿过后二面面试官过来了,是个成熟的大叔,二面只问了两个东西,一个jvm,一个并发编程。

jvm主要是性能调优,jstack的使用,full GC和minor GC的分析等。

并发编程问的很细,问多个线程达到同一个状态然后再一起执行,达到某一个状态之后再继续并发执行,这种怎么实现?

答:jdk5之后有一个CyclicBarrir,通过这个来实现,它可以重用等balabala说了一些。

再发问读写锁中加读锁后如何避免写线程饿死?

答:加策略balabala。

发问如何实现控制线程在某段时间内完成,不完成就撤销?

答:实现Callable接口,返回FutureTask类或者Future接口,然后去触发撤销操作。

开始问项目,描述一下对账系统,balabala... 数据量大吗,并发量高吗,数据库怎么设计的等。

随后让我等一会,又过来一个面试官,问我业务,你在第三方支付公司,能不能讲一下支付的技术流程?

balabala...把自己理解的支付流程讲了一下,最后补了一句,支付的细节业务很复杂,我也没完全明白呢。

让我等了一会,随后面试官说你回去等消息吧,心凉了一个星期,结果hr在星期一打电话说让星期四去最后一面,是技术总监的面试。

四面开始,发问异步处理的幂等性,不是很难,唯一性索引或者开发分布式锁呗,随后风格立马就转了,不问技术了,发问你觉得你来百度能给百度带来什么样的价值,你希望你加入的百度的团队是一个什么样的团队,你如何和产品经理沟通,假如你和其他研发接口制定无法统一你该如何解决等,一点准备都没有,回答的结结巴巴很是不好,哎,听天由命吧!

#社招##面经##360公司##陌陌##百度#
全部评论
厉害了
点赞 回复
分享
发布于 2019-09-26 15:26
一年要了解这么多,太强了。
点赞 回复
分享
发布于 2019-09-26 15:36
联想
校招火热招聘中
官网直投

相关推荐

2 14 评论
分享
牛客网
牛客企业服务