很多同学对面试不够了解,不知道如何准备,对面试环节的设置以及目的不够了解,因此成功率不高。通常情况下校招生面试的成功率低于1%,而社招的面试成功率也低于5%,所以对于候选人一定要知道设立面试的初衷以及每个环节的意义,有的放矢...
通过现场分析互联网的JD,让学员掌握分析公司对技术的要求和定位,进而知道自己是否适合该岗位以及应该如何准备。想提高面试成功率一定要了解公司的业务,去分析公司对应业务的站点了解他们使用的技术栈,进而去准备相关的知识,最后一小节关于自我介绍,大多数面试失败都是简历和自我介绍导致的,只是大多数人并不自知。...
二面/三面更侧重于对Java知识的深度和广度来进行考察,这个环节不再局限于基础知识,更多的是底层源码、项目实战等方面。
本文分享的是阿里蚂蚁金服的126道题:
文末有答案
1、Java事件机制包括哪三个部分?分别介绍。
2、为什么要使用线程池?
3、线程池有什么用?
4、说说几种常见的线程池及使用场景。
5、线程池都有哪几种工作队列?
6、怎么理解无界队列和有届队列?
7、线程池中的几种重要的参数及流程说明。
8、什么是反射机制?
9、说说反射机制的作用。
10、反射机制会不会有性能问题?
11、你怎么理解http协议?
12、说说http协议的工作流程。
13、http有哪些请求提交方式?
14、http中的200,302,403,404,500,503都代表什么状态?
15、http get和post有什么区别?
16、你怎么理解cookie和session,有哪些不同点?
17、什么是web缓存?有什么优点?
18、什么是https,说说https的工作原理?
19、什么是http代理服务器,有什么用?
20、什么是虚拟主机及实现原理?
21、什么是java虚拟机,我为什么要使用?
22、说说java虚拟机的生命周期及体系结构。
23、说一说java内存区域。
24、什么是分布式系统?
25、分布式系统你会考虑哪些方面?
26、讲一讲tcp协议的三次握手和四次握手流程。
27、为什么tcp建立连接协议是三次握手,而关闭连接确是四次握手呢?为什么不能用两次握手进行连接?
28、为什么tcp TIME-WAIT状态还需要等2MSL后才能返回到CLOSED状态?
29、什么是DoS、DDoS、DRDos攻击?如何防御?
30、描述一下Java异常层次结构。
31、什么是检查异常,不受检查异常,运行时异常?并分别举例说明。
32、Finally块一定会执行吗?
33、正常情况下,当在try块或catch块中遇到return语句时,finally语句在方法返回之前还是之后被执行?
34、Try、catch、finally语句块的执行顺序。
35、Java虚拟机中,数据类型可以分为哪几类?
36、怎么理解栈、堆?堆中存在什么?栈中存在什么?
37、为什么要把堆和栈区分出来呢?栈中不是也可以存储数据吗?
38、在java中,什么是栈的起始点,同时也是程序的起始点?
39、为什么不把基本类型放堆中呢?
40、Java中的参数传递时传值呢?还是传引用?
41、Java中有没有指针的概念?
42、Java中,栈的大小通过什么参数来设置?
43、一个空Object对象的占多大空间?
44、对象引用类型分为那几类?
45、讲一讲垃圾回收算法。
46、如何解决内存碎片的问题?
47、如何解决同时存在的对象创建和对象回收问题?
48、讲一讲内存分代及生命周期。
49、什么情况下触发垃圾回收?
50、如何选择合适的垃圾收集算法?
51、JVM中最大堆大小有没有限制?
52、堆大小通过什么参数设置?
53、JVM有哪三种垃圾回收器?
54、吞吐量优先选择什么垃圾回收器?响应时间优先呢?
55、如何进行JVM调优?有哪些方法?
56、如何理解内存泄漏问题?有哪些情况会导致内存泄漏?如何解决?
57、从分布式系统部署角度考虑,分哪几层?
58、如何解决业务层的数据访问问题?
59、为了解决数据库服务器的负担。如何做数据库的分布?
60、什么是著名的拜占庭将军问题?
61、为什么说tcp/IP协议是不可靠的?
62、讲讲CAP理念。
63、怎么理解强一致性、单调一致性和最终一致性?
64、分布式系统设计你会考虑哪些策略?
65、最常见的数据分布式是什么?
66、谈一谈一致性哈希算法。
67、Paxos是什么?
68、什么是lease机制
69、如何理解选主算法?
70、OSI有哪七层模型?TCP/IP是哪四层模型。
71、Fabric在哪里做的共识,如何解决双花问题和节点伪造问题的,比如说A给B转账5元,给C同志1元劳务费,但是该节点作弊了怎么办?
72、拜占庭算法的理解?
73、TCP协议拥塞是怎么解决的?
74、JAVA虚拟机的理解?
75、JAVA线程池的参数都有什么?
76、有序链表和二叉搜索树在查找和插入上时间复杂度的区别?了解过红黑树么,在插入上有什么优化?
77、介绍下你觉得你做的比较好的项目,解决了哪些技术难点?
78、一个数组中有正数和负数,找出来和最大的子数组
79、16瓶水中有1瓶水有毒,小白鼠喝了有毒的水1个小时后会死,一个小白鼠可以喝多瓶水,一瓶水也可以被多个小白鼠喝,现在给1个小时时间,最少需要几只小白鼠能够判断出来14瓶水是无毒的?
80、java虚拟机垃圾回收机制
81、事务隔离级别有什么?
82、concurrentHashMap实现原理?原来使用的什么锁?CAS具体如何实现的?
83、Fabric的共识机制
84、kafka不是共识机制么?
85、一个文本有很多单词,找出来其中词频最大的k个单词?如果内存读一次装不下怎么办?
86、HashMap扩容是怎么实现的?多线程同时put会存在什么问题?
87、单例怎么写,懒汉和饿汉哪个更适合多线程?
88、线程池的参数都有什么?
89、最近在看什么书?
90、比特币的共识机制?
91、项目中的监控:那个监控指标常见的有哪些?
92、微服务涉及到的技术以及需要注意的问题有哪些?
93、注册中心你了解了哪些?
94、consul 的可靠性你了解吗?
95、consul 的机制你有没有具体深入过?有没有和其他的注册中心对比过?
96、项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理
97、Spring Boot除了自动配置,相比传统的 Spring 有什么其他的区别?
98、Spring Cloud 有了解多少?
99、Spring Bean 的生命周期
100、HashMap 和 hashTable 区别?
101、Object 的 hashcode 方法重写了,equals 方法要不要改?
102、Hashmap 线程不安全的出现场景
103、线上服务 CPU 很高该怎么做?有哪些措施可以找到问题
104、聊实验室的方向和做的项目
105、说一件你最得意的事儿,最失败的事儿和最出格的事儿
106、说一件你一直在坚持的事情
107、有几百亿个数字找出其中的中位数
108、JDK 中有哪几个线程池?
109、SQL 优化的常见方法有哪些
110、SQL 索引的顺序,字段的顺序
111、查看 SQL 是不是使用了索引?(有什么工具)
112、TCP 和 UDP 的区别?TCP 数据传输过程中怎么做到可靠的?
113、说下你知道的排序算法吧
114、常用的负载均衡,该怎么用,你能说下吗?
115、你有什么问题想问我的吗?
116、class存在哪儿,jvm结构
117、stringbuffer和stringbuilder的区别
118、Object 类中的方法
119、hashcode 和 equals 方法常用地方
120、hashmap put 方法存放的时候怎么判断是否是重复的
121、Object toString 方法常用的地方,为什么要重写该方法
122、Java 中有哪些线程安全的 Map?
123、Concurrenthashmap 是怎么做到线程安全的?
124、HashTable 你了解过吗?
125、如何保证线程安全问题?
126、volatile 的原子性问题?为什么 i++ 这种不支持原子性?从计算机原理的设计来讲下不能保证原子性的原因
文章篇幅限制,答案我已经整理好了,会免费送给大家,欢迎做Java的工程师朋友们关注我的公众号:Java小朔哥,获取这个126道阿里面试题PDF。
延伸阅读:捧一本书上床阅读,结果一觉醒来书还盖在脸上;发誓晚上要做一个PPT,结果连玩了两小时手机;衣服泡在盆里要洗,三天后发现衣服都泡霉了。懒惰很可怕,比懒惰更可怕的是,我们还喜欢用表面勤奋的假想,去掩盖懒到骨子里的实质