首页 > 阿里春招提前批上岸经验分享
头像
阿里内推
编辑于 2021-04-04 14:16
+ 关注

阿里春招提前批上岸经验分享 内部员工回复

与朋友一起合作了一篇阿里上岸经验分享,希望能帮到大家,如有意愿加入可查看文末联系方式,可随时交流。

面试流程

整个流程包括笔试+4次技术面试+hr面,大概持续了半个月左右,其中4次技术面时间跨度大概在十天左右

面试官很 nice,会提前1-2天告知面试时间,如果有冲突可以延后,时间上很好沟通

笔试有两道题更偏向于对问题的建模与解决,难度相当于其他厂最后两道题的水平

前两次技术面偏基础,会问比较底层的东西,主要看技术的深度,最好对技术栈的源码实现有了解;后面两次发散性比较强,会看你思考能力、解决问题的能力,以及技术的广度;

项目经历方面,会重点问到项目用到的技术,并深挖细节来问,为什么这样做?现在有没有什么更好的解决方式?因此准备项目经历时不要广而要深

下面说一下容易问到的技术

面试经验

Java

基础

  • 面向对象三大特性:封装、继承、多态如何在Java中体现
  • String StringBuilder StringBuffer区别 ""+""实现过程
  • 什么时候重写hashcode和equals方法
  • 深拷贝浅拷贝
  • BIO、NIO、AIO原理及应用场景

Java的东西很多而且很深,上面说的只是一小部分,面试结束尤其推荐java是突击学来的同学再系统的学学,《Java核心技术》一共两卷,非常厚。

集合框架

  • List、Map、Set区别及使用场景
  • 对比List、Map、Set的各种子类
  • HashMap原理 扩容缩容机制、存储结构、rehash实现方法等 一定要熟悉底层代码实现及算法原理
  • HashSet如何查重
  • ArrayList 和 Vector 的区别

这里需要对源码有一定的了解

并发

  • 进程、线程、协程和程序各自是什么及区别
  • 上下文切换
  • synchronized实现原理(结合JVM 连带讲锁升级)
  • 可重入锁代码实现及原理
  • ThreadLocal 一定要看源码 与Thread的关系、hash算法、内存泄漏及如何避免
  • 线程池 针对不同情况参数如何选择
  • 原子类
  • CAS
  • AQS原理

不光要背面试题 建议面试结束后再深入学学java并发 推荐《Java并发编程的艺术》

JVM

  • JMM结构(最好可以针对不同虚拟机 不同版本 或者只说HotSpot虚拟机)每部分的作用,及什么时候会用到
  • java对象创建过程
  • 类加载机制
  • 内存分配与回收策略
  • 如何判断对象是否可被回收
  • 四种引用
  • 垃圾回收算法
  • 垃圾回收器

计算机网络

  • 网络的七层通信模型,常见的协议比如 TCP、IP、UDP、ARP、HTTP、FTP 等都位于哪一层
  • 常见 Http 的状态码的含义(常见的502,500,404,302,204,200等),遇到对应问题知道如何去处理
  • Http请求的构成
  • GET 和 POST 有什么区别
  • TCP 和 UDP 的区别(TCP 为什么可以保证传输的可靠性)
  • TCP 的三次握手和四次挥手(为什么挥手需要四次)
  • TCP 的拥塞控制(慢开始,拥塞避免,快重传,快恢复)
  • TCPTCP
  • 什么是 ARP 协议。
  • ping 命令的实现原理,ping 命令为什么不需要端口号
  • 从输入 URL 到页面加载发生了什么?
  • 长连接和短连接

操作系统

  • 操作系统的线程与进程的区别,线程有几种状态?
  • 线程间通信的方式与进程间通信的方式。
  • 什么是死锁?死锁的必要条件,如何避免死锁?
  • 进程的调度算法
  • 磁盘的寻道算法
  • I/O 模型
  • 如何线程同步?有哪些方式

MySQL

  • 一条sql语句(增加、删除、修改语句)在MySQL中如何执行

  • 对比常见的存储引擎(主要对比innodb 和 myisam 最好能多说出几种常见的存储引擎及特点)

  • 索引(能说出innodb 和myisam 的策略最好)

  • 事务 什么是事务 并发事务带来的问题

  • 事务隔离级别 innodb如何保证(主要说如何解决幻读)

  • innodb 锁机制

  • innodb 日志 mysql 日志 两段式提交

  • 一条sql执行的慢的原因

  • 大表优化

  • mysql不同存储引擎存储结构

  • MySQL 索引为什么采用B+树?

想深入学习mysql的同学推荐这本《高性能MySQL》,极客时间上的MySQL45讲同样也非常经典

Redis

  • 为什么用缓存(不光是说redis 可以先从计算机cache说起,再到具体环境中,比如网上商城怎么怎么样需要缓存,然后各种缓存什么特点,最后为什么选redis,这里就可以顺便说说redis的结构)
  • 对比两种常用缓存中间件redis和Memcached
  • redis单线程模型及为什么不需要多线程(6.0后又引入了多线程)
  • 持久化策略
  • 数据过期淘汰策略
  • 内存淘汰机制
  • 缓存穿透 缓存雪崩 如何避免
  • 事务
  • 如何保证redis-数据库数据一致性
  • 主从结构如何保证(主机-从机)数据一致性
  • 主机坏了如何选出新的主机

Spring

  • 介绍一下spring( or spring boot)吧(什么是spring 有什么特点 优势 对比不用的情况)
  • 列举一些比较重要活比较常用的模块(aop orm test... 官网那张图)
  • AOP IOC
  • bean 生命周期 如何加载一个自己的bean进容器
  • 事务
  • 解释一下常用的注解

设计模式

  • 最容易考到是手写一个单例设计模式,一定要搞清楚那几种各自哪里有问题。

  • spring、redis、rocketmq中用到了什么设计模式?在哪用到的?

  • 你的项目中用到设计模式了么 ?为什么用? 在什么情况下用? 用它的好处是什么? 如果不用会怎样?

消息队列

  • 有哪些常见的消息队列?用过哪些?
  • 队列模型和发布/订阅模型的区别?
  • 如何保证消息的有序性?
  • 如何保证消息不丢失?
  • 如何不重复消费消息?也就是消息消费的幂等性
  • 如果让你来设计一个消息队列,该如何考虑

其他

  • 了解 Hadoop 吗,介绍一下 hdfs 与 mapreduce
  • Nginx 做反向代理以及负载均衡
  • 微服务主要有哪些相关技术?

关于简历

技术类简历如何写可以参考这一篇帖子 ,上面说的很详细。

如何投递

很高兴能够成功上岸,同时欢迎大家的到来,如有任何问题都可以邮箱或者微信联系,会给大家更详细的指导!
邮箱联系: x643654282@163.com
微信联系: linger-young(可联系进群讨论)

更多模拟面试

全部评论

(11) 回帖
加载中...
话题 回帖

推荐话题

近期热帖

近期精华帖

热门推荐