写点什么

同时拿到 BATJMD 的 Offer 是怎样的一种体验?

用户头像
冰河
关注
发布于: 2021 年 02 月 08 日
同时拿到BATJMD的Offer是怎样的一种体验?

写在前面


又到了收割 Offer 的季节,你准备好了吗?曾经的我,横扫各个大厂的 Offer。还是那句话:进大厂临时抱佛脚是肯定不行的,一定要注重平时的总结和积累,多思考,多积累,多总结,多复盘,将工作经历真正转化为自己的工作经验。


今天,我就跟小伙伴们分享一些经典的大数据面试题,跟我一起横扫各个大厂的 Offer!后续,我会给大家输出一篇我平时是如何在工作过程中总结经验的,希望能够给小伙伴们带来实质性的帮助。不多说了,开始今天的主题——面经分享。


面经分享


今天给大家分享一个面试大厂的完整面经,小伙伴们可以对照下,这些面试题自己是否都会了呢?欢迎文末留言说出你的答案!如果你想提升自己的技术,或者对自己的发展比较迷茫,都可以在文末说出你感受!


一轮技术面(90 分钟)


1.hashmap 和 hashtable 区别

2.为什么产生死锁

3.jvm 类加载

4.java 反射获取私有属性,改变值

5.反射用途

6.所用数据库

7.项目难点,问题

8.如何解决项目中遇到的问题

9.项目中遇到最自豪的地方

10.会什么算法


二轮技术面(120 分钟)


1.讲项目

2.数据库乐观锁使用

3.状态机

4.如何解决状态机不对问题

5.如何分库分表

6.MySQL 极限

7.HashMap 源码

8.设计一个线程安全的 HashMap

9.快排的实现,时间复杂度和空间复杂度

10.会什么算法

11.如何把项目变成 SOA 架构

12.Spring 源码,最深刻的模块,aop 用途

13.JVM 内存模型

14.垃圾回收机制

15.项目中查看垃圾回收


三轮技术面(150 分钟)


1.ConcurrentHashMap 底层原理?

2.手写一个 LRU(用 LinkedHashMap)

3.HashMap 底层数据结构?

4.JDK1.8 中的 HashMap 为什么用红黑树不用普通的 AVL 树?

5.为什么在 8 的时候链表变成树?

6.为什么在 6 的时候从树退回链表?

7.线程池 7 个参数,该怎么配置最好?

8.说一下 volatile

9.volatile 的可见性和禁止指令重排序怎么实现的?

10.CAS 是什么?PriorityQueue 底层是什么,初始容量是多少,扩容方式呢?

11.若原始大小<64,则扩容为原来的 2 倍+2,不然就扩容为原来的 1.5 倍

12.HashMap 的容量为什么要设置为 2 的次幂?

13.你知道跳表吗,什么场景会用到?

14.CopyOnWriteArrayList 知道吗,迭代器支持 fail-fast 吗?

15.innodb 的底层数据结构?

16.为什么用 B+树不用 B 树?

17.为什么用 B+树不用红黑树?

18.coding:无序数组怎么寻找第 k 大的数,写一个二叉树层次遍历

19.不知道大小的数据流取其中 100 个数,怎样的取法能最随机

20.n 个物品每个物品都有一定价值,分给 2 个人,怎么分两个人的价值差最小


四轮技术面(120 分钟)


1.项目中的权限管理

2.登录状态如何储存

3.session 和 cookie 的区别,session 如何管理

4.HashMap 底层结构

5.synchronized 关键字的用法

6.synchronized 修饰类方法和普通方法的锁区别,获取类锁之后还能获取对象锁吗

7.类加载器的双亲委派模型的作用,能重复加载某个类吗

8.类加载器的类的缓存,key 是什么

9.介绍 Redis

10.如何将数据分布在不同的 Redis

11.有了解过取余算法?

12.spring 的 apo 实现

13.字节码结构

14.浏览器输入网址过程,结合 springmvc


五轮技术面(120 分钟)


1.HashMap 在大量哈希冲突该怎么处理

2.红黑树比 BST 优点

3.MySQL 为什么使用 B+树

4.多个索引会有多份数据吗

5.数据库的隔离级别和解决的问题

6.数据库默认隔离级别,一定会产生幻读吗,怎么解决

7.输入网址到展示的整个过程,结合 springmvc 来讲

8.负载均衡的算法

9.哈弗曼编码,如何解决译码问题

10.实习会对工作有影响吗

11.用英文介绍一个项目

12.如何查看系统负载

13.描述一个解决问题的过程

14.如何把文件从服务器复制到本地,用什么命令


六轮技术面(90 分钟)


1.讲讲你所了解的 JVM 垃圾收集算法

2.项目中用的哪些技术

3.项目如何设计流程流转,如果是你的话该怎么设计

4.MySQL 使用的索引结构,查找效率

5.MySQL 查询优化

6.MySQL 慢查询开启,语句分析

7.HashMap 查找效率

8.JVM 内存模型

9.设计模式,策略模式的使用场景

10.如何确保单例线程安全

11.Spring 的 bean 的默认范围

12.对 Netty 的了解

13.未来发展规划


七轮 HR 面(40 分钟)


1.说一下发展方向

2.说一下经验不足导致的问题

3.说一下挑战杯的工作内容

4.说一下你给挑战杯项目的主要贡献

5.实习时间

6.拿到了哪些 offer,你是怎么考虑的

7.为什么不选择腾讯

8.腾讯技术栈和阿里技术栈的区别


好了,今天就到这儿吧,我是冰河,大家有啥问题可以在下方留言,也可以加我微信:sun_shine_lyz,我拉你进群,一起交流技术,一起进阶,一起牛逼~~


发布于: 2021 年 02 月 08 日阅读数: 15
用户头像

冰河

关注

公众号:冰河技术 2020.05.29 加入

Mykit系列开源框架发起者、核心架构师和开发者,《海量数据处理与大数据技术实战》与《MySQL开发、优化与运维实战》作者。【冰河技术】微信公众号作者。

评论

发布
暂无评论
同时拿到BATJMD的Offer是怎样的一种体验?