首页 > 学姐的Java后端面经(BAT/外企/AMD/PDD/网易)

学姐的Java后端面经(BAT/外企/AMD/PDD/网易)

个人情况

本人计算机六年入门选手,大大小小面试了不少,从牛客一路成长而来,也希望能帮助到学弟学妹们。本面试经验只适用于我这种普普通通没有背景的萌新,大神勿扰

先介绍一下个人情况211本+985硕+计算机专业,参与的是20届的秋招,也就是19年9月找到的工作

面试记录如下:(以下排名不分先后顺序)(ps回顾才发现我竟然海投这么多)

1.PayPal (两轮面试/offer)

2.拼多多(两轮技术+一轮hr/offer)

3.蚂蚁金服(一轮技术/凉)

4.腾讯(两轮技术+一轮hr/地点不合适hr面拒)

5.字节(三轮技术+一轮hr/实习转正offer)

6.美团(两轮技术+一轮hr/offer)

7.网易游戏(两轮技术/实习offer)

8.百度(三轮技术/offer)

9.小红书(三轮技术+一轮hr/offer)

10.华为(三轮技术/性格测试挂。。。这是我最不能理解的一个)

11.农行(群面一轮/体检没去挂)

12.b站/招行信用卡中心(没理我)

13.阿里云(两面技术/感觉聊得很愉快可能是没有hc没下文了)

实的题目

Java

1.C++的map用什么实现?Java中的map都有哪些,各自特点如何?
2.Java中的容器都有哪些,各自特点如何?
3.JavaGC 的策略
4.GC root有哪些
5.介绍一下JVM中的垃圾收集器
6.Java反射的理解
7.Java动态代理
8.Synchronize与Reentrantlock有什么区别?
9.Spring中的IOC、AOP怎么理解?
10.AOP与动态代理的关系?
11.ArrayList如何扩容?
12.Java中如何判断两个对象是否属于同一个类?
13.Java中为何要有泛型?
14.什么是BIO/NIO/AIO?
15.JVM如何判断一个对象已经死亡呢?
16.什么是内存泄漏?Java中存在内存泄漏吗?
17.Java8 有什么新特性
18.HashMapput方法的流程是什么?
19.ConcurrentHashMap的size()方法是如何计算的?
20.Arrays.sort()的实现?
21.方法覆盖与重载的区别?
22.Java中类修饰符、成员变量修饰符、方法修饰符的种类与类别?
23.说说Java中的锁
24.JDK中线程池的参数有哪些?如何工作?
25.String类中intern()方法如何实现?
26.SpringBuilder 与SpringBuffer的区别?
27.Java中如何正常终止线程?
28.主线程可以捕获子线程抛出的异常吗?
29.主线程结束与子线程结束有关吗?
30.如何查看某个Java进程有几个子线程?
31.Java类初始化顺序
32.Collections类有哪些方法?
33.Comparable与Comparator的区别?
34.何时需要自定义类加载器?
35.JVM中新生代、老年代、永久代如何分配?
36.Minorgc频繁的原因可能是什么?gc很慢的原因可能是什么?
37.Sleep()与wait()的区别
38.Java9 –12分别有什么更新?
39.Java代码如何调优?
40.OOM如何调优?
41.Main方法为什么一定要是static?
42.一个线程可以start两次吗?
43.HashMap有几种遍历方式?效率如何?
44.线程有几种启动方式?
45.ConcurrentHashMap在JDK1.7和1.8的实现分别是什么?
46.ThreadLocal如何使用?
47.Synchronize底层如何实现?
48.JDK中哪些地方用到了CAS?
49.AQS底层是如何实现的?
50.线程池有哪些拒绝策略?
51.如何判断一个类是无用类?
52.虚引用与其他引用的区别?
53.Java中基本数据类型及其大小
54.Java中为何不支持super.super?
55.Collections中shuffle()是如何实现的?

Spring

1.什么是springboot
2.Spring boot 怎么启动
3.Spring与springboot的关系
4.Spring好用在哪?
5.Spring分为几大模块?
6.Tomcat、Spring、servlet之间的关系
7.SpringAOP可以拦截private方法吗?为什么?
8.Tomcat如何舍弃双亲委派模型?
9.注解是怎么回事?

算法

1.实现一个数据结构,删除与增加时间复杂度O(1),随机取元素时间复杂度O(1)
2.求最短路径有什么算法
3.一百亿个数据如何判断某一个是否在其中?
4.红黑树、B树、B+树、跳表
5.不同方法求斐波那契数的时间复杂度
6.实现一个Linux tail命令
7.扔鸡蛋问题
8.LRU的实现
......
还有多一半题目,如果需要的话帖子下留言我私发你们吧,还有操作系统、数据库、中间件什么的,太长了懒得粘贴了~

虚的经验

01确定明确的目标

无论是暑期实习还是秋招,首先就要选择好你的目标岗位。这一点实习与秋招可能有一点差别,实习相对没那么功利性,是一个天然的试错机会。

最好的职业选择是善于做的、希望做的、并且能赚钱的,但是小白不可能会有这么如意的事情,在选择的时候,可以根据下面的图来衡量自己所选的岗位与自己能力之间的差距,然后根据不同情况进行改变。

Tips

a. 选择好目标城市

选择一份工作,也是选择一种生活,如果你有明确的期望城市,就果断一点,相信自己可以在这个城市找到满意的工作,从一开始就避免在选择offer的时候给自己出城市or公司的难题。我在实习时投了深圳,面到hr面之后觉得还是不想去深圳,浪费了双方的时间。

b. 鸡蛋不要放在一个篮子里

鼓励大家参加更多高水平的面试,面试也像练级打怪一样,在面试中查缺补漏远比看面经来得快。特别感谢字节跳动和美团的二面面试官,让我从面试中获得了许多经验。

c. 学会说“不”

有自己的底线很重要,盲目海投牵涉太多精力没有任何意义,在自己目标公司以下的公司没必要进行投递,投递前可以问自己:如果他给了你offer你会去吗?如果答案是否定的或者不确定的,可以直接选择放弃,不要混淆目标和欲望。

02面试是双方的面试

作为被面试者,保持谦逊很重要,但也要注意到每一次面试都是你与你可能的leader对话的珍贵机会。

这是我在面试全部结束之后才明白的事情,希望你在面试开始时就意识到,对面的面试官大概率就是工作的leader,他的技术水平、性格脾气、沟通能力都将决定你的工作氛围,他在考察你,你也在考察他,珍惜这次机会,认真与他进行沟通并记录,会成为你最后进行offer选择的一个重要因素,公司的平台重要,但更重要的其实是朝夕相处的同事与领导。

03学会控场

在面试过程中,尽量把问题集中在你所熟悉的领域,对于确定的问题,要有主场自信,相信自己就是对方要找的人,当对方问到你题库中的内容时,娓娓道来并留有余地,不要表现得信手拈来,将交谈节奏控制在双方有来有回的状态中,而当对方问到你不熟悉的内容时,切忌慌张和乱说一气,坦诚面对自己知识的漏洞,并感谢对方的提点。

04不要跌倒在同一个地方

对于面试中不确定的问题在面试之后一定要进行复盘,面试官如果查看面试记录问同样的问题,如果仍然答错给人的印象会相当差。

建议入手ipad+apple pencil,在准备面试和面试过程中记录问题与答案,拥有自己的“错题本”,对于积累面试经验十分有益。

写在最后

辛苦你看到这里啦,每个人的秋招体验都不太相同,我讲的道理很大概率并不适合所有人,其实秋招到最后,拼的就是心态,不急不躁,相信自己一定能行,有啥疑问欢迎留言和私聊一起讨论~

最后祝大家都能找到自己心仪的工作,2020很难,祝你好运啦

最后有希望来美团点评的可以私聊我内推~

最后的最后,有没有单身的小哥哥认识一下~哈哈哈哈

更多模拟面试

全部评论

(31) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐