金三银四已到!分享Java后端阿里暑期实习提前批面经(蚂蚁、淘宝、阿里云)

前言

本人22届硕士,年前投了阿里一些部门的提前批实习来试试,今天刚面试完一个,感觉年前应该不会再有面试,所以先把目前的面试问题总结了一下,有的面试里的问题记得不是很清楚了,不是很完整。

蚂蚁金服-风控

一面 (已过)

  • 介绍自己的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。

  • 没有做题

阿里云-云原生

一面(已过)

  • 介绍一下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项目介绍

  • dubbo不足,以及优化方向?(语言支持)

  • netty高性能主要依赖了哪些特性?

  • netty bytebuf工作原理,和NIO里buffer区别?

  • 服务注册原理

  • 负载均衡?

  • 聊另一个项目

  • AQS原理

  • 做题

  • 两个线程轮流打印

  • LRU

  • 没写好,都知道怎么弄,就是写出了bug(凉凉)

阿里云-天基团队

一面(凉)

  • 介绍一下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(),怎么安全优雅实现

最后

最后我为大家准备了ava核心知识点+全套架构师学习资料和视频+一线大厂面试宝典+面试简历模板+阿里美团网易腾讯小米爱奇艺快手哔哩哔哩面试题+Spring源码合集+Java架构实战电子书一起免费分享给大家!
有需要的朋友点击这里备注csdn,自行下载即可!
作为开发人员来说,不说要求自己成为业内顶尖,但也要保证自己不被市场所淘汰,学习对于程序员来说是最基本的事情。
金三银四已到!分享Java后端阿里暑期实习提前批面经(蚂蚁、淘宝、阿里云)_第1张图片

你可能感兴趣的:(程序员,java,面试专题,分布式,java,面试,spring,阿里巴巴)