首页 > Java后端阿里暑期实习提前批面经汇总
头像
我是恒星
编辑于 2021-03-09 10:41
+ 关注

Java后端阿里暑期实习提前批面经汇总 内部员工回复

本人22届硕士,正在找暑期实习。目前投了阿里一些暑期实习的提前批,会将面试中的问题记录下来,希望和大家一起探讨学习。有的面试里的问题记得不是很清楚了,不是很完整。


部门A

一面 (已过)

介绍自己的RPC项目
BIO 和 NIO的区别?
项目中负载均衡怎么实现的
一致性哈希在某节点宕机时怎么保证一致性的?
了不不了解hessian协议(不太了解)
Zookeeper有几种角色?
Zookeeper集群节点宕机了怎么发现剔除的?

List Set Map 讲一下
HashSet底层结构
Set时间查询复杂度都是O(1)吗 (TreeSet不是)

reentrantlock、和synchronized的区别
了解死锁吗

算法题
队列实现栈

二面(已过)

介绍一下RPC项目聊起

实现高性能的RPC关键在于哪些方面(我从序列化,通信协议,IO模型三个方面回答)

项目如果要实现内存零拷贝怎么做?

有没有提供什么扩展的接口,钩子给其人或程序方便扩展。

AVL树深度差不能超过多少?红黑树时间复杂度?
讲一下什么样的情况能用动态规划?

TCP三次握手过程讲一下
TCP发数据过程中必须按顺序接收吗

Select poll epoll区别

虚拟内存和物理内存谈一谈。

聊聊GC。

还有三面

部门B

一面(已过)

介绍一下RPC项目

负载均衡了解哪些(dubbo的四种策略说了下)

一致性哈希比其他方法的优点?(当增加或减少服务节点时,不会造成哈希表的全量重新映射,而是增量式的重新映射)

Java里的RMI了解吗?(不太了解)

除了Dubbo,还了解其他RPC框架吗(gRPC, Thirft  有什么区别)

除了NIO,还有什么?(BIO AIO)

除了Select,还有什么(Poll Epoll,区别是什么)

容器了解什么(只了解点Docker)

做题
给定一个链表,旋转链表,将链表每个节点向右移动 k 个位置,其中 k 是非负数。

LRU 简单谈下怎么实现?(参照LinkedHashMap)


二面(已过)

印象深刻的项目介绍一下?
RPC具体讲一下?
介绍一下服务注册中心怎么做的?
为什么用Zookeeper做注册中心(优点,与其他选型对比下)
整体服务调用链路是怎样的?
JDK动态代理机制是怎么实现的(反射,再底层原理不太清楚)
负载均衡是怎么做的?
Dubbo为什么推荐基于随机的负载均衡?
序列化怎么做的?Kryo原理了解吗?
RPC中是用Spring进行管理的,那用到了事务吗(没有)
介绍一下你理解的Spring。
依赖注入有哪写方式?
为什么选用Netty来做通信框架?
还知道其他网络通信框架?
能聊聊gRPC和dubbo这两类框架区别?
有没有考虑过服务治理相关的事情吗(还没有)
现在微服务的技术发展方向有了解吗
能聊下TCP吗?
能大概描述一下HTTP请求的过程?
HTTP提交请求时可以通过Form和JSON来提交的区别?(不太清楚)
Cookie和Session区别聊一下?
RPC项目中有做单元测试吗?(没有)

聊另一个项目
为什么用MyBatis(从与JDBC、Hibernate的区别聊)
事务隔离级别有了解吗?
SpringBoot项目中用到事务了吗?(没用到)
项目中用到查询优化了吗?(用了联合索引)
建索引基于哪些原则?(最左匹配原则)

HashMap聊一下?
Java多线程编程需要注意些什么?
JVM内存区域能讲一下吗?
堆里面内存回收大概讲一下?
有碰到过内存泄漏的问题吗?
Exception体系聊一下?
Linux熟吗,会shell编程吗?
平衡树和红黑树区别?
开源社区有没有什么参与?
对什么新技术比较感兴趣?
英文怎么样,来段英文自我介绍(懵逼中,因为没准备,所以没怎么介绍好)

反问

三面(已过)

介绍学习经历。
聊下自己RPC的架构?
了解Nacos和Zookeeper的区别吗?
用的TCP还是HTTP2传输的?
有没有了解gRPC等用HTTP2传输的协议?
有没有完整比较过性能?比较传输协议的性能?序列化的性能?(没有)
为什么选用ProtoBuff?
做RPC时会做内容协商吗?
你有把自己的RPC项目用在生产上吗(没有)
学习过程中收获最大的是什么?
Netty怎么实现高性能的?
有学计算机相关的课程吗?
能描述一下堆排序吗?(介绍堆,如何构建堆,堆排序)
能用英语介绍一下怎么实现并发编程吗,两分钟就好(??我展示出迟疑)
那就换用英语介绍下进程和线程的区别把?(也不简单啊。。)

介绍自己研究生阶段的研究。

未来职业规划,喜欢什么样的岗位。
容器有了解吗(不怎么了解)
云计算有了解吗(不了解)
最近还在学什么内容。


还有四面

部门C

一面(过)

RPC项目介绍
dubbo不足,以及优化方向?(语言支持)
netty高性能主要依赖了哪些特性?
netty bytebuf工作原理,和NIO里buffer区别?

服务注册原理
负载均衡?

聊另一个项目

AQS原理

做题
1 两个线程轮流打印
2 LRU
没写好,都知道怎么弄,就是写出了bug(凉凉)

跟面试官交流时从话语中以为凉凉,隔了好久告诉我过了,可能是想在给我一个机会试试把。


部门D

一面(凉)

介绍一下RPC项目

序列化怎么实现?
主要是Kryo(两个特点介绍了一下)

那你这个序列化还是针对Java语言的,如何实现跨语言的序列化或者rpc框架?

CGLib 底层
一个类有方法a和方法b,两个方法都被代理,方法a中调用了方法b,被代理后调用a方法,a方法中调用的是被代理的方法b还是普通方法b?(求大神解答)

分布式数据一致性协议都知道哪些(2PC 3PC Paxos)
Raft了不了解

知道怎么撑爆方法区内存吗?或者说怎么动态生成很多方法? (CGlib 动态生成类、方法)

private default protected public 权限

反射可以访问private方法和属性吗?如何访问?
通过 setAccessible(true)

Spring AOP说一下
AspectJ 原理知道吗。

Exception的体系?是捕获还是抛出,最佳实践是怎样的?

Java线程的状态,状态间怎么转换

怎么打断一个线程?Thread.interupt(),怎么安全优雅实现

做题

手写LRU

部门E

一面(应该过了)

简单介绍下JVM。
OutOfMemory出现原因和解决办法。
堆中哪个区域不会出现OutOfMemory?

孤儿进程和僵尸进程是什么?(不了解)
线程之间的同步方式?
GC常用的垃圾回收器?

谈下对Spring的理解。

抽象类和接口的区别?
haspmap和concurrentHashmap区别?

MySQL里索引的原理?
B+树  B树 红黑树的区别?

TCP协议能不用两次握手,如果两次是对服务器影响大还是客户端影响大?

HTTP与HTTPS区别

说一下堆排序和桶排序的基本思想和时间复杂度。

做题
1 链表找倒数第K个节点。
2 剪绳子 剑指offer原题


部门F

一面(过)

对JVM了解哪些模块?
讲一下JVM的内存模型?
垃圾回收策略?
JVM参数、调优做过吗(没有)
类的加载过程知道吗?

线程的生命周期?
常用的线程池用过吗?有哪些?
线程池拒绝策略?
简单说一下CAS?ABA问题了解吗?
AQS了解多少?子类有哪些?
Semaphore知道吗?

项目中异常怎么处理的?
Spring的Bean怎么加载的?
循环依赖了解吗?
Spring中AOP实现原理知道吗?
JDK动态代理和CGLib的区别?
Spring的一个接口ApplicationListener了解吗(不了解)
为什么用SpringBoot,优点是什么?

实现RPC框架是怎么实现的?
除了Netty还知道哪些网络传输框架吗?



二面(过)

dubbo容错机制
dubbo的负载均衡

Serializable和Externalizable懂吗?(不知道Externalizable)

IO/NIO/AIO区别?
JDK中NIO有哪些重要组件?
Dubbo或Netty源码中你觉得有亮点的地方。(没看过不会)

为什么现在还在用JDK8?
OpenJDK 和 Java JDK的区别?(这个问题是为了提示上一个问题的答案吗)
为什么JDK8要提供接口的默认实现,有抽象类还要这个干嘛
为什么要提供Lambda表达式?
为什么JDK8要去除永久代(除了1不受堆大小空间限制,2与Jrockit虚拟机合并 两个原因还有啥???)
说下G1垃圾回收器。

说下JUC都有些什么?
说明下AQS的实现?
说下volatile?
有哪些线程池?线程池实现原理?哪些核心参数?
当前任务空闲,corePoolSize的几个线程怎么保持活性,不被销毁?

线程interupt,怎么实现优雅的终止?
JVM提供了哪些锁(偏向锁、轻量级、自旋锁、重量级锁)

介绍下红黑树?红黑树最坏情况下查询时间复杂度?(不懂)
跳表了解吗?和红黑树应用场景有什么不同?

解释贪心和动态规划以及应用场景











更多模拟面试

全部评论

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

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐