阿里一面一个半小时(笔试成绩太差,先补了笔试)挂了。
笔者算法太差,阿里的笔试也是最早的一场笔试,不出意外,笔试成绩惨淡。(我都放弃有面试机会了。。。)
两周后,收到面试电话,电话沟通进行一轮笔试(补),当时实习在开会,拖到下午五点半开始,做了一个小时多,三道题。
1、n个线程顺序循环打印0-100
2、手写LinkedList的数据结构并写出add和remove算法
3、微信红包算法实现
微信红包算法没看过,自己随便写的,前两个应该还好。
笔试结束以后,面试官突然打电话问,晚上有空么,可以进行面试么,约到晚上8.30进行面试,一下子有点慌了,饭都没怎么吃,吃了点面包再看看复习资料。
笔试开始,自我介绍后,让谈了谈自己的学习之路,之后谈项目,笔者没有什么Java向的大项目,从一个点对点的聊天程序开始聊,用了什么,如何怎么优化,扩展到聊天室怎么做(我答的是多线程加生产者消费者模型)。
然后聊到Java容器,总体的介绍了一下,如何详细问了HashMap的实现,然后线程安全么,怎么实现线程安全,hashtable和concurrentHashMap的实现原理。
问到了Java的锁机制,两种锁的区别,java虚拟机对原生锁的优化过程,锁的使用场景。
然后问了怎么保证变量的并发安全,加锁和原子类都问了,cas怎么实现的,还说了double check。
数据库问的少,就问了事务是什么,详细说了下ACID四种特性的内容。
然后问了下,最近在看什么,我说是MQ,聊了聊MQ的功能,问了点rocketmq的东西,可能答得不好,没有再问了。
好多细节有点忘了。。。。聊了一个半小时到十点,感觉聊得挺好的。。。面试官说尽快给通知,然后。。。。周三挂了。。。
阿里之旅结束。。。。(面试官好像不是我内推的部门的。。。是什么情况呢。。。)
#面经##阿里巴巴##校招##Java工程师#