写点什么

新鲜的字节跳动、美团、B 站、京东 Java 面经,程序员你眼馋了吗

作者:Java高工P7
  • 2021 年 11 月 12 日
  • 本文字数:2367 字

    阅读完需:约 8 分钟

  • 2-1. redis 主要能解决什么问题,聊一下你所知道的?

  • 2-2. 聊一下 redis 高可用的相关。主要说一下哨兵集群的流程,包括选举、以及宕机之后的处理方案,以及 cluster 集群的工作流程。

  • 2-3. 聊一下 redis 哈希槽,为什么不用一致性哈希的方案?

  • 2-4. redis 为什么这么快?

  • 2-5. redis 跟 mq 的技术选型。


3.mysql 相关问题


  • 3-1. mysql 的事务隔离级别。

  • 3-2. 面试官描述了一个场景 #¥%……¥……%&*这种情况下你怎么优化 mysql,说说你优化的流程步骤。

  • 3-3. 你能想到什么优化 mysql 吞吐量的方案。

  • 3-4. mysql 的底层数据结构?索引怎么存储的?


4.rabbitmq


  • 4-1. rabbitmq 的优势,能解决什么问题?

  • 4-2. 说一下 rabbitmq 怎么保证高可用的?

  • 4-3. 聊聊镜像队列,怎么运作的?口述下代码?


5. 并发编程相关


  • 5-1 hashmap 跟 concurrentHashMap


6. 接近一个小时的计算机网络基础、操作系统基础

美团二面(70min)

正儿八经的面试了


1. 再来一个场景¥%……¥#%……&*&


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


%..优化 mysql,具体步骤,什么命令,怎么操作,比较详细。


2. redis 分布式锁的作用?什么场景用过?会有什么问题?(原子性的问题、误删锁、误得锁等等)怎么解决这些问题?(面试官提了几个场景,这块聊了半个多小时)


3. 详细聊了 rabbitmq 的工作流程。介绍下 rabbitmq 的组建,分别有什么类型,具体是怎么用的?口述代码。


4. redis 高可用。


5. 聊聊你了解的 RPC,dubbo 与 springcloud?(我因为没做过微服务项目,因此,问我,你觉得应该有什么功能,我从 springcloud 的角度回答的)


6. RPC 与 mq 技术选型,说下原因。


7. Spring 源码,我讲了事务的源码(撸了好几次了,比较熟悉)。


8. 手撸算法题两道。


9. 聊实习时间、地点,未来发展。

美团三面(50min)

HR(直接给录用函)谈笑风生....聊薪资,工作地点,还有一些要录入系统的基本信息,留了电话。


小结:美团的问题单个都不难,主要是在一个 tomcat 优化的场景下要把东西联系起来。





  • 公司:bilibili

  • 地点:上海

  • 工作经验:0 年

  • 岗位:主要负责【数据分流】

  • 面试次数:3 次

  • 面试内容:

Bilibili 一面

1.问项目情况。

Bilibili 二面

1.JVM:gc 很关键,基本上只要问到 jvm,必问 gc。


答题过程:


说明垃圾处理器,说明垃圾处理器使用到的算法并说明什么时候对象被 gc(计数器法(缺点)和可达性分析),叙述对象的分派过程,何时进入老年代,空间担保机制。双亲委派模型偶尔会问到,类加载过程一定要熟记于心。


叙述类加载过程,叙述双亲委派模型原理,并说到如果不使用双亲委派模型 java 连最基础的稳定都保证不了。


2.Jvm 的内部结构?


**答题过程:**叙述出每个块的名字以及作用。


3.多线程:线程池会问到构造方法的参数,好处以及坏处。


内置锁和显示锁的使用场景 。


Cas 原理和缺点解决的方法,以及原子类的说明。


Aqs,叙述数据结构,设计模式,模板方法和可重写方法,内部类状态的变化以及节点的成员变量,说到这一定要说明 condition 和 aqs 的配合使用。


ConcurrentHashmap1.7-1.8 基本都会问到的,数据结构,get,put,扩容以及初始化,size,什么时候会扩容,解决 hash 冲突的办法以及 1.8 红黑树到链表的互相转换。(有的公司会问到 arraylist 和 linkedlist 如果两个线程去执行写操作会发生什么,我只说明了会引发线程安全的问题,这个时候就可以说说 hashmap 两个线程去扩容之后去 get 一个不存在的数据时会产生环形链表缓解一下尴尬。)


双重检测引发的问题(临界区重排序带来的)。


多线程远不止这些。


4.mysql 的存储引擎 myisam 和 innodb 必问。


索引分别使用到的数据结构以及分类。


Sql 语句的优化十条一定要记住,并说明原因。


事务的性质 ACID 以及隔离的级别并分别说明,引发的脏读不可重复读幻读分别在哪个隔离级别上会发生。


5.算法:快速匹配字符串(暴力匹配和 KMP 算法)。


其实还有其他的算法,我最后问问题的时候问了面试官,怎么找到两个链表的公共节点?怎么找到链表的环。


6.设计模式会问到单例模式,代理模式,工厂模式。


你看过哪些源码,有用到什么设计模式?


7.网络:osi 七层模型


Tcp 三次握手,四次挥手状态的变化(状态没记住呜呜)


Tcp 为什么是可靠传输协议(确认机制和超时重发)

Bilibili 三面

与 HR 阿姨嘘寒问暖。


小结:面试的时候一定要放轻松,会的问题不仅要答出来,还要让面试官跟着你的思路走,比如内置锁和显示锁的使用场景,我就成功地将面试官引到了 aqs。





  • 公司:京东数科

  • 地点:北京

  • 工作经验:4 年

  • 岗位:京东数科中台-主要负责业务是短信和 push 推送

  • 面试次数:3 次

  • 面试内容:

京东数科一面

1.Java 基础,接口,反射,数据结构,设计模式,实际处理问题的过程(这个会根据你说的方向深入一些继续问)


2.spring 的注解及讲解 aop,微服务用的什么,怎么选择的,消息队列,写代码后给出意见等。

京东数科二面

讲讲以前做的业务,问一些逻辑思考题,还有为什么来这,优势是什么,以后的规划,团队和个人不同意如何处理等。

京东数科三面

HR 直面,整体问下以前公司的情况等问题。


小结:要熟悉基础,最好能把简历上的都特别熟练,会围绕简历问,中间会深入一个点问,不会了会换个方向,代码也要熟悉,中间会有看代码和写代码。





  • 公司:字节跳动

  • 地点:北京

  • 工作经验:3 年

  • 岗位:大数据事业部服务端- 开发服务接 商业对接接口,还有各种 kafka 的消息推送

  • 面试次数:3 次

  • 面试内容:

字节跳动一面

机试(java 基础,算法,数据结构)。

字节跳动二面

主流框架理解,原理,数据库架构,设计模式应用,网络基础知识,分布式问题分析,并发编程,锁知识,JVM 优化。

字节跳动三面

1.拓展知识,项目中常见问题的解决。如,如何保证 redis 和 mysql 数据一致。如何解决缓存击穿问题。如何实现并发限流,JVM 锁和分布式锁的区别。


2.给一个业务场景,如何架构组件和数据库。1 到 1000 个数,如何按顺序存储。(二叉树问题)


小结:掌握 Java 基础和算法基本就成功了一半,更多场景化操作可以加分又加薪。




用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
新鲜的字节跳动、美团、B站、京东Java面经,程序员你眼馋了吗