背景介绍:项目是管理系统,本科 211(非科班),硕士 985(非科班)。
我面试的岗位:java 工程师
部门:新零售事业群-业务平台事业部-交易流程组
非常感谢阿里给的机会,感谢遇到的每一位面试官,面试过程很有收获。
文末有个人 JAVA 的学习经验和个人总结和收集的 Java 资源库,写的比较简单,仅仅是个人的一点经验,仅供大家参考。
阿里一面技术面
- Spring bean 加载,实例化的过程
- 如果给你一个 map,里面有很多很多对象,那么这个 map 存放在哪
- 说一下 CMS 垃圾回收器
- 你项目里用的什么数据库
- 如果我有很多字段都需要建立索引,怎么办
- Mysql 的存储引擎,你用的是哪种
- 说一下 Innodb 数据库底层数据结构
- B+树的特征
- 说一下你常用的 api 和包
- haspmap 底层讲一讲
- 那么 juc 中对应的线程安全的类是什么
- ConcurrentHashMap 的底层实现?
- 线程池,有哪几个参数,有哪几种,有哪些拒绝策略
- 乐观锁,悲观锁
- CAS 是硬件实现还是软件实现
- volatile 是锁吗?
- 淘宝,你觉得他是怎么做推荐的
- 淘宝和京东的区别,你觉得是什么
- 网易云音乐,你觉得他的推荐是怎么做的
- 如果有上百万的音乐,我要根据某一列进行排序,只显示前 100 条,怎么做(TOP K)
阿里代码面
- 设计一个多线程打印程序,第 i 个线程只打印 i-1 数字,比如第 1 个线程打印数字 0,第 2 个线程只打印数字 1,依次类推。任意给定一个数字序列,比如 3382019835830,能够使用该程序打印出来。
- 共计 9 个苹果,有 2 只猴子,一个猴子每次拿 2 个苹果,一个猴子每次拿 3 个苹果,如果剩余的苹果不够猴子每次拿的数量,则 2 只猴子停止拿苹果,请用 java 多线程模拟上面的描述,要求性能尽可能高效(这个题开始是用可重入锁写的,结束之后自己本地测试发现程序不会自动结束,后来改成用 AtomicInteger 和 cas 来实现了)
- 快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解。假如有如下数组,如图所示:5,6,1,4,7,9,8 给定 Sum= 10
阿里二面技术面(全程 40 分钟)
- 那你详细说一下 TCP 和 UDP 的区别
- 数据库用的是什么(MySQL)
- 那你的数据量是多少(几百万)
- 那你这几百万条,做了什么查询优化(索引)
- 为什么用时间和 id 来做索引
- 数据库的隔离级别
- 知道什么是主从复制吗?
- 你说一下建立索引的规则
- JAVA 类加载机制(加载验证准备解析初始化,又说到双亲委派模型)
- 线程池所有参数讲一讲
- 消息队列呢?
阿里三面技术面(全程一小时 )
- 你的数据库有多大数据量
- 如果现在保留这部分数据,你会怎么做
- 保存另一台服务器上,那么数据会越来越大,最后查询会很慢,你怎么处理
- 如果在历史纪录服务器上建索引,怎么建,为什么
- 线程间通信有哪些方式(加锁,内存屏障)
- 线程池的参数详细说说(帽子戏法)
- NIO,说一下
- 你项目为什么不用 NIO
- RPC,有了解吗(没了解)
- 好,那如果现在让你设计远程调用的 rpc 框架,你怎么设计
- 写一下客户端和服务端的主要函数的伪代码
- 你有参加过其他公司的面试吗
阿里交叉 1 面 (全程 25 分钟)
- 为什么用 udp
- 用 tcp 服务器负载高在什么地方
- 数据库,怎么设计的
- TCP 三次握手
- 算法题:按照出现次数降序输出一个字符串中出现的所有大写字母(口述快排)
- 你有什么想问的吗
阿里交叉 2 面
- 自我介绍
- 项目
- 如果现在改成要求实时性非常强的那种情景,你怎么设计
- JMM
- 算法题:小括号中括号大括号,要求给出这个表达式是否符合要求,即不出现那种 ( } 的情况
HR 面
- 选一个项目说一下
- 成长过程中影响最深的人
- 来杭州工作有什么顾虑吗
- 你觉得你前几轮面试面的如何
- 你觉得你从上大学以来有什么挫折吗
- 为什么不本科毕业就工作,而是选择读研
面试总结和学习经验分享
其实面试前一直担心自己面试的时候会不会太过紧张,表达的没有逻辑,结结巴巴。
尽量用词准备吧,一些名词不能说错,英文名词读的准一点。。。感觉阿里一面的时候,可能那天有点懵,英文名词读的不太好,然后就来了几分钟的英文面试。其实还有一点,我遇到的面试官都比较宽容吧,印象深刻字节二面的面试官,问我会不会分布式,负载均衡之类的,我直接说不会,他说我现在缺乏经验,要赶紧过来实习。
如果遇到一个会怼人的面试官,可能被怼完后,面试可能就会产生心理阴影。
- 大厂高频面试题 65 份
大厂高频面试题 65 份
基础篇
JVM 篇
- 微服务进阶笔记
- 大厂面试真题
- 腾讯
- oppo
以上所有的面试资料均可免费领取,需要的朋友可以 点击这里即可获取到文章中的文档,资料!