3月最新:字节跳动2面、美团2面Java面试真题总结

简介: 最新字节跳动和美团Java面试真题!

前言

宅在家里快两个月的在家办公模式基本告一段落。企业复工,大家的工作生活终于可以回归正轨,相信不少朋友已经走出家门,迎战跳槽季了。一些动作快的朋友可能已经拿到一两个 Offer 了。
image

那么,对于Java开发岗来说,到底该如何准备技术面呢?
其实,除了表达能力和面试技巧外,无非就从这几个方面进行准备:源码阅读、JVM、高并发,分布式、集群、中间件,微服务架构等。
下面是最新的字节跳动和美团的Java面试题,希望对大家面试有帮助!
image

字节跳动一面:

1.看过Spring的源码吗,开局暴击。
2.Class.forName()和ClassLoader.loaderClass()有什么区别,开局暴击*2.。
3.ConcurrentHashMap的原理,为什么是线程安全的,让你设计怎么实现读写安全
4.Mysql中有哪些索引,你能想到哪些作为索引的数据结构,HashMap,B+树,前缀树,面试官提示跳表
5.Spring事务传播机制的应用
6.线程安全的单例模式,写完DCL写静态内部类的时候写错了,汗
7.正向代理和反向代理
8.http是有状态的吗,tcp呢,为什么http是无状态的
9.RPC和微服务框架了解吗
总结:一面面了一个多小时吧,很多常见的面试问题就没列了,列的是以前没碰到过问题,感觉面试官很重视思维能力和总结能力,即对于一个设计中的原理很深刻并且能用于其他地方。

字节跳动二面:

1.先聊了聊项目
2.JVM
3.OOM问题和StackOverflow有什么区别
4.好像问了些网络方面的知识
5.思考题,64匹马,8个赛道,最少比多少场可以找出最快的4匹马?首先说15,后来想到了13,最后在网上搜的答案是11,挺有意思的一道题
代码题,也不难
总结:二面面试官项目方面聊的多一些,然后就是思考题和算法题,也差不多一个小时吧,当时从6点直接面到8点多,饭都没吃,突出一个惨
image

美团一面:

基本问的就是java基础,多线程,jvm,redis这些,大概一个小时左右吧

美团二面:

1.聊聊sychronized关键字,用法,底层实现,偏向锁,轻量级锁,自旋锁
2.聊聊偏向锁,轻量级锁的原理和过程
3.除了sychronized,还有啥,聊聊ReentrantLock,底层一个继承了AQS的实现类
4.聊聊AQS,volatile修饰的state,加锁过程,公平锁和非公平锁的实现
5.TCP和UDP的区别
6.三次握手和四次挥手的过程,为什么这样
7.聊聊ThreadLocal,为什么要用threadLocal,ThreadLocalMap中,key和value分别哪个是强引用,哪个是弱引用,我迷之坚持value是强引用。。。
8.线程的状态以及状态变化过程
9.CMS和G1的区别
10.聊聊Spring中的动态代理,实现了接口的用JDK动态代理,未实现接口的通过CGlib动态代理,动态代理和静态代理的区别
11.常用设计模式,策略模式的原理和应用
之后的话就是聊项目,做了哪些,遇到了哪些问题
代码题:两个链表代表的大数进行相加,我用两个栈分别保存链表,然后出栈的时候用头插法生成新链表,感觉时间复杂度没有最优,但是也过了
面试官介绍部门和业务的时候很热情也很详细,然后说等HR通知~
总的来讲,比起字节跳动,美团的面试稍微简单一丢丢,因为不会问的太底层,太发散,然后两家公司的面试官都很赞,很有耐心也很热情!
image

所有的面试题目都不是一成不变的,特别是像这种大厂,上面的面试真题只是给大家一个借鉴作用,最主要的还是给自己增加知识的储备,有备无患!欢迎关注公种浩,程序员追风,领取这些Java面试题资料!
image

针对于上面的面试问到的知识点总结出互联网公司Java程序员面试涉及到的绝大部分面试题及答案做成了文档(300页pdf)分享给大家,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习。

最后

欢迎大家一起交流,喜欢文章记得关注我点个赞哟,感谢支持!

相关文章
|
15天前
|
安全 架构师 Java
Java大厂面试高频:Collection 和 Collections 到底咋回答?
Java中的`Collection`和`Collections`是两个容易混淆的概念。`Collection`是集合框架的根接口,定义了集合的基本操作方法,如添加、删除等;而`Collections`是一个工具类,提供了操作集合的静态方法,如排序、查找、同步化等。简单来说,`Collection`关注数据结构,`Collections`则提供功能增强。通过小王的面试经历,我们可以更好地理解这两者的区别及其在实际开发中的应用。希望这篇文章能帮助你掌握这个经典面试题。
31 4
|
2月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
115 2
|
3天前
|
Java 程序员
Java社招面试中的高频考点:Callable、Future与FutureTask详解
大家好,我是小米。本文主要讲解Java多线程编程中的三个重要概念:Callable、Future和FutureTask。它们在实际开发中帮助我们更灵活、高效地处理多线程任务,尤其适合社招面试场景。通过 Callable 可以定义有返回值且可能抛出异常的任务;Future 用于获取任务结果并提供取消和检查状态的功能;FutureTask 则结合了两者的优势,既可执行任务又可获取结果。掌握这些知识不仅能提升你的编程能力,还能让你在面试中脱颖而出。文中结合实例详细介绍了这三个概念的使用方法及其区别与联系。希望对大家有所帮助!
92 60
|
2天前
|
算法 安全 Java
Java线程调度揭秘:从算法到策略,让你面试稳赢!
在社招面试中,关于线程调度和同步的相关问题常常让人感到棘手。今天,我们将深入解析Java中的线程调度算法、调度策略,探讨线程调度器、时间分片的工作原理,并带你了解常见的线程同步方法。让我们一起破解这些面试难题,提升你的Java并发编程技能!
43 16
|
4天前
|
安全 Java 程序员
Java面试必问!run() 和 start() 方法到底有啥区别?
在多线程编程中,run和 start方法常常让开发者感到困惑。为什么调用 start 才能启动线程,而直接调用 run只是普通方法调用?这篇文章将通过一个简单的例子,详细解析这两者的区别,帮助你在面试中脱颖而出,理解多线程背后的机制和原理。
37 12
|
15天前
|
监控 Dubbo Java
Java Dubbo 面试题
Java Dubbo相关基础面试题
|
15天前
|
SQL Java 数据库连接
Java MyBatis 面试题
Java MyBatis相关基础面试题
|
15天前
|
存储 监控 算法
Java JVM 面试题
Java JVM(虚拟机)相关基础面试题
|
15天前
|
SQL 监控 druid
Java Druid 面试题
Java Druid 连接池相关基础面试题
|
15天前
|
缓存 安全 算法
Java 多线程 面试题
Java 多线程 相关基础面试题

热门文章

最新文章