很多同学对面试不够了解,不知道如何准备,对面试环节的设置以及目的不够了解,因此成功率不高。通常情况下校招生面试的成功率低于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,结果连玩了两小时手机;衣服泡在盆里要洗,三天后发现衣服都泡霉了。懒惰很可怕,比懒惰更可怕的是,我们还喜欢用表面勤奋的假想,去掩盖懒到骨子里的实质