心累,不想面阿里了,又要重新开始一面。
一面(50分钟)
1.synchronized关键字
2.volatile关键字以及底层的实现,主要的使用场景
3.JVM方面的知识
4.垃圾回收相关的内容
5.concurrentHashMap扩容
6.让我讲讲HashTable和HashMap key和value是否可以为空,我扩展了TreeMap(是否自己实现了compartpor接口)还有concurrentHashMap的情况
7.为什么链表长度为8要转为红黑树,具体可以看看TreeNode下面的解释,我是按照那个说的,然后给了自己的理解
8.为什么HashMap不安全
9线程池的内容,如何定义自己的拒绝策略
还有一些不太记得清楚
一面全程聊感觉还不错
二面(80+分钟)
自我介绍,讲项目
由于项目中写了webSocket,问了这方面的内容,以及和HTTP2.0的区别
1.从object类的几个方法问起(着重讲了hashcode和equals)
2.问了AQS已经根据AQS实现的几种锁
3.Redis的主从复制
4.CMS的回收过程,G1的回收过程,两者的比较
5.硬软弱虚引用,以及软引用的回收时机
6.JDK的动态***
7.beanFactory和factoryBean的区别
8.Spring的启动过程
9.事务的传播
10.线程池的内容,场景设计,回答不好,要根据IO密集型和CPU密集型来设计
还有的好多没记清,不过很多使我们经常用的 但是没有去注意的地方
面完还和说不要觉得有的没有答出来感觉过不了,虽然你有的没有答上来但是我还是给你了这么久的时间,就是想全面的考量你
三面(80+分钟)
自我介绍,项目方面
三面都是从大方向的来问的,没有问什么基础方面的只是
让我比较了BAT三家的云平台
自己如何设计一个API
还问了Docker方面的内容,namespace和Cgroups等等
三面之后加了一个笔试面,两道算法题,20分写完了。一个模式匹配,一个字符对应一个字符串,看最后能不能匹配。还有一个就是醉汉喝酒,空瓶和瓶盖可以换酒的问题。
交叉面(30+)
凉了
问我实习,但是我实习时间太短,没有太多讲了,也和他讲明了,但是还是再问。
而且最后一面体验不好,面试官那边用电脑打过来的,全程有杂音,有的时候问题听不清
可能觉得我答的不好,半个多小时就变成以回绝,同时又被捞到哪个不知道的部门,重新开始一面
面的淘系技术部