其实一开始不怎么敢投和想投阿里的,因为阿里非常看重项目经验、实习经验以及竞赛经验,可是我项目经验在阿里这边都拿不出手,实习也非互联网公司,竞赛经验也不是软件大赛类…只有 Java 基础相关知识能抗一点,但是这并没有什么卵用。后来是谁给我发了一个阿里内推免笔试的…正儿八经去参加笔试还真过不了,然后就投了。然后今天下午在准备网易二面前一个小时,突然一个杭州的电话打过来,行吧一接就是阿里的面试官,之前听说过阿里喜欢搞突击面试,虽然没有太惊讶但是也是非常紧张了…
自我介绍 balabala,由于紧张说的都没有逻辑…
实习经历 balabala
项目经历,详细的问了简历上的两个,咱就不细说了
中间件知道吗?我说像消息队列这种知道但是没看过源码,面试官问缓存呢?我就说看过一部分 Redis 的源码。用过 Redis 是吧,项目中为什么采用 Redis 做缓存而不是其它的缓存?然后我提到了 Redis 单线程操作快的原因,并同比 Memcached 分析了一下,面试官就问 Redis 和 Memcacahed 的区别?
TCP/IP 协议分层?TCP 属于哪一层的协议?HTTP 采用的是 TCP 还是 UDP?我说 TCP + 端口号构成 HTTP,然后问端口号有什么作用?我说一台主机 65535 个端口号,前 1024 个留给了操作系统,后面留给了用户,用端口号可以唯一标识一个进程。
TCP 的拥塞控制算法?从慢开始、拥塞避免、快重传、快恢复四个算法详细讲了过程
JVM 中类加载机制和模型,balabala 后问了能不能破坏双亲委派加载模型,我说可以使用线程上下文类加载器也就是 TCCL 可以破坏,在 Tomcat 源码和 JDBC 源码中都有涉及,并举了 JDBC 的例子说明了过程
JVM 中的堆主要存储什么?对象和字符串常量池
多线程问了一些…忘了,因为跟网易二面时间太接近了,已经记不清了
Java 基础也问了一些…也记不清了,只记得都答出来了
通信专业为什么搞 Java 开发?平时怎么学习的?知识体系怎么构建的?平时看了什么书?最近有没有学习一些新技术?
有没有参加什么竞赛的?我说了两个并说明了一下过程,面试官好像并不感兴趣,可能只想听到 ACM 之类的 - -
有没有什么想问他的…然后我犹豫了一下,问了面试官从刚才的表现来看对我做一个评价,面试官说我 Java 基础很好,说实话这是我目前面试听到的最高评价了,还是阿里的面试官,内心小小的激动了一下,然后说但是由于现在秋招竞争比较激烈,通信专业搞开发可能在操作系统和数据结构算法方面有一些欠缺(不过面试官也没问,估计确实看看到通信专业的才没问那些),然后阿里比较看重竞赛经历什么的,最后又说了一遍但是觉得我Java 基础很好…就结束了今天的突击面试,估计明天有可能随时给我来个突击二面…
感受:虽然知道阿里最后肯定要凉,但是涨涨经验还是很有必要的:smile:,还是保持一个乐观的心态吧。