2017年阿里巴巴内推实习电话面试1

   本人广东某985软工专硕,2017年2月27号投的内推简历,今天(3月14号)接到第一个面试电话,当时看到杭州的电话,就知道肯定是阿里的面试了,于是准备好耳机,接听了电话。毫无疑问,我的猜测是对的,他开口问我是不是***,他是阿里巴巴的,方不方便电话面试,当时我说方便(其实我翘课了,就等着他的电话)。考虑到走廊上说话太大声,我把走廊的椅子搬到院楼之间的空旷平台上和他“决一死战”,后来感觉悲剧了,当时我拖鞋短袖上阵(实验室有很多设备,所以温度较高,但外面好冷),冻得缩在椅子上,牙齿不停地起内讧,面试整整撑了1小时3分6秒。 

   面试首先就问我是不是第一次面试,让我自我介绍一下,当时没怎么准备稿子,所以介绍时有点乱。 成绩如何?本科成绩呢?硕士呢?数学怎么样? 然后就深入问我项目和实习了。比如问我实习时公司用了什么架构,有什么不好的地方需要改进吗,如果需要添加**业务时怎么办;专利写了什么东西,具体介绍一下怎么实现的,某个步骤的实施细节是什么,为什么要用那个方法,资料的来源,编码实施时发现设计不合理怎么办....(这里花了我有40分钟的时间)。其中与技术相关的:HBase存储模型及优化(优化当时没答好)、为何不用关系型数据库、FTP实现、工作流的实现。

   接下来就是面技术基础了:

1. Spring的核心功能:IOC、AOP

2. AOP原理:动态代理、CGLIB(这没打出来)

3. HashMap实现,高并发的解决方案:JDK1.7之前HashMap采用数组+链表,HashTable对HashMap的每个方法进行sync实现线程同步,效率低,ConCurrentHashMap是采用多个Segment解决HashTable的同步效率问题,另外还有HashMap的reHash、容量、加载因子的问题。

4. ThreadPool的核心参数:corePool、maxPool、timeOut、允许corePool中的线程被回收(这个他有点怀疑)、阻塞队列(他说我这里逻辑有问题, 我感觉没有,可能当时在解释Executor.execute(Runnable)时没把流程说清楚)

5.  Singleton实现:懒汉、饿汉、双重判断+sync

6. 双重判断+sync实现单例时需要注意什么:private static 类名 instance,他说还差一个volatile,我当时恍然大悟,然后他问我volatile的原理,现在想想,volatile很浪费资源,影响效率,而且编码那么久从来没见过在单例中使用它。

7. JVM的认识:肯定从内存分配开始,介绍堆、栈、代码区,栈的用途,堆的新生代、Survivor、老年代以及GC的各种回收,OutOfMemory以及MAT工具。

8. 快排的原理和复杂度:关键在于选择基数,前后前后有两个指针分别向中间移动,不断和基数比较。最差复杂度O(N^2),平均的为O(NlogN),当时不小心答成了O(logN),命苦

9. 10000个数据中按大小排,获取最小的100个数据:我当时说使用选择排序,复杂度为O(10000 * 100),他说用堆排序,复杂度为O(NlogN)。

10. TCP建立连接的过程:三次握手

   面到最后都12点了,估计他也要去吃中午饭了,说到此为止,总体上感觉没发挥好,不知道会不会有二面,系统状态显示面试中,一边等一遍学习。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值