双非本科,参加了无数场面试,以下是最近面阿里的总结:************阿里面经1简单介绍项目知道哪些数据结构以及他们的特点链表增删快,那如何提高其查询效率,有没有什么想法?B+树了解吗?B+树如何范围查询?B+树退化的极端情况是什么?跳表了解吗?大顶堆、小顶堆了解吗?实现长地址请求到服务端,然后服务端重定向短地址给客户端,如何实现长短地址的互相映射?那我现在有10份数据,有1000个线程来争抢,你要怎么处理?分布式是什么?为什么要分布式?分布式又会有哪些问题?分布式系统是如何实现事物的?Redis集群了解吗?如何处理宕机的情况?Redis的同步策略?LRU算法了解吗?你会如何实现它?这个算法可以应用在哪些场景下?TCP为什么是三次握手?两次行不行?多次行不行?TCP的安全性是如何实现的?两台服务器之间可以同时建立多条TCP链接吗?怎么实现的?客服端输入一个网址后,是如何拿到客服想要的数据的,是怎样在网络中传输的?cookie和sessionjava有哪些锁?共享锁是什么?CAS?乐观锁和悲观锁?synchronied的底层原理?锁升级?死锁怎么形成的?如何破解死锁?面经2Java容器:List,Set,MapMap的遍历方式HashMap扩容为什么是扩为两倍?Java线程同步机制(信号量,闭锁,栅栏)对volatile的理解:常用于状态标记八种基本数据类型的大小以及他们的封装类(顺带了解自动拆箱与装箱)线程阻塞几种情况?如何自己实现阻塞队列?Java垃圾回收。可达性分析->引用级别->二次标记(finalize方法)->垃圾收集 算法(4个)->回收策略(3个)->垃圾收集器(GMS、G1)。java内存模型TCP/IP的理解进程和线程的区别http状态码含义ThreadLocal(线程本地变量),如何实现一个本地缓存JVM内存区哪里会出现溢出?双亲委派模型的理解,怎样将两个全路径相同的类加载到内存中?CMS收集器和G1收集器TCP流量控制和拥塞控制服务器处理一个http请求的过程例举几个Mysql优化手段数据库死锁定义,怎样避免死锁spring的aop是什么?如何实现的面向对象的设计原则策略模式的实现操作系统的内存管理的页面淘汰 算法 ,介绍下LRU(最近最少使用算法 )B+树的特点与优势面经3自我介绍,说简历里没有的东西说几个你最近在看的技术(MySQL,多线程)口述了一个统计数据的场景题如果这个统计数据场景不用MySQL,而是用Java来实现,怎么做如果数据量过大,内存放不下呢用面向对象的思想解决上面提出的问题,创建出父类,子类,方法,说一下思路下一个场景,口述了一个登录场景,同学用线程池做登录校验,会有什么问题如何解决这些问题你给出的方案弊端在哪里,还有哪些方案面经4谈谈类加载机制。hashmap和concurenthashmap16g机器,让你分配jvm内存怎么分配。机器慢了怎么排查。谈谈consul和zookeeper,还有服务发现机制。详细说明raft协议。谈谈consul和zookeeper区别。服务注册的时候发现没有注册成功会是什么原因。讲讲你认为的rpc和service mesh之间的关系。本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~********如果访问不了Github,可以访问*******。*******
点赞 10
评论 0
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务