乐趣区

关于后端:阿里面经整理2023

双非本科,加入了无数场面试,以下是最近面阿里的总结:

阿里

面经 1

  1. 简略介绍我的项目
  2. 晓得哪些数据结构以及他们的特点
  3. 链表增删快,那如何进步其查问效率,有没有什么想法?
  4. B+ 树理解吗?B+ 树如何范畴查问?B+ 树进化的极其状况是什么?
  5. 跳表理解吗?
  6. 大顶堆、小顶堆理解吗?
  7. 实现长地址申请到服务端,而后服务端重定向短地址给客户端,如何实现长短地址的相互映射?
  8. 那我当初有 10 份数据,有 1000 个线程来争抢,你要怎么解决?
  9. 分布式是什么?为什么要分布式?分布式又会有哪些问题?分布式系统是如何实现事物的?
  10. Redis 集群理解吗?如何解决宕机的状况?Redis 的同步策略?
  11. LRU 算法理解吗?你会如何实现它?这个算法能够利用在哪些场景下?
  12. TCP 为什么是三次握手?两次行不行?屡次行不行?
  13. TCP 的安全性是如何实现的?两台服务器之间能够同时建设多条 TCP 链接吗?怎么实现的?
  14. 客服端输出一个网址后,是如何拿到客服想要的数据的,是怎么在网络中传输的?
  15. cookie 和 session
  16. java 有哪些锁?共享锁是什么?CAS?乐观锁和乐观锁?synchronied 的底层原理?锁降级?死锁怎么造成的?如何破解死锁?

面经 2

  1. Java 容器:List,Set,Map
  2. Map 的遍历形式
  3. HashMap 扩容为什么是扩为两倍?
  4. Java 线程同步机制(信号量,闭锁,栅栏)
  5. 对 volatile 的了解:罕用于状态标记
  6. 八种根本数据类型的大小以及他们的封装类(顺带理解主动拆箱与装箱)
  7. 线程阻塞几种状况?如何本人实现阻塞队列?
  8. Java 垃圾回收。可达性剖析 -> 援用级别 -> 二次标记(finalize 办法)-> 垃圾收集 算法(4 个)-> 回收策略(3 个)-> 垃圾收集器(GMS、G1)。
  9. java 内存模型
  10. TCP/IP 的了解
  11. 过程和线程的区别
  12. http 状态码含意
  13. ThreadLocal(线程本地变量),如何实现一个本地缓存
  14. JVM 内存区哪里会呈现溢出?
  15. 双亲委派模型的了解,怎么将两个全门路雷同的类加载到内存中?
  16. CMS 收集器和 G1 收集器
  17. TCP 流量管制和拥塞管制
  18. 服务器解决一个 http 申请的过程
  19. 例举几个 Mysql 优化伎俩
  20. 数据库死锁定义,怎么防止死锁
  21. spring 的 aop 是什么?如何实现的
  22. 面向对象的设计准则
  23. 策略模式的实现
  24. 操作系统的内存治理的页面淘汰 算法,介绍下 LRU(最近起码应用算法)
  25. B+ 树的特点与劣势

面经 3

  • 自我介绍,说简历里没有的货色
  • 说几个你最近在看的技术(MySQL,多线程)
  • 口述了一个统计数据的场景题
  • 如果这个统计数据场景不必 MySQL,而是用 Java 来实现,怎么做
  • 如果数据量过大,内存放不下呢
  • 用面向对象的思维解决下面提出的问题,创立出父类,子类,办法,说一下思路
  • 下一个场景,口述了一个登录场景,同学用线程池做登录校验,会有什么问题
  • 如何解决这些问题
  • 你给出的计划弊病在哪里,还有哪些计划

面经 4

  • 谈谈类加载机制。
  • hashmap 和 concurenthashmap
  • 16g 机器,让你调配 jvm 内存怎么调配。
  • 机器慢了怎么排查。
  • 谈谈 consul 和 zookeeper,还有服务发现机制。
  • 具体阐明 raft 协定。
  • 谈谈 consul 和 zookeeper 区别。
  • 服务注册的时候发现没有注册胜利会是什么起因。
  • 讲讲你认为的 rpc 和 service mesh 之间的关系。

本文曾经收录到 Github 仓库,该仓库蕴含 计算机根底、Java 根底、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享 等外围知识点,欢送 star~

Github 地址

如果拜访不了 Github,能够拜访 gitee 地址。

gitee 地址

退出移动版