高德,京东,百度面经,已offer

声明:最后选了美团的offer,因为怕美团的同事发现,就不放美团的面经了

京东

一面:

二叉树还原,右侧投影打印

说下线程池类型,拒绝策略

spring事务传播机制原理
应该答AOP的,但是我没答出来

CAP理论是什么

consul是ap还是CP的

常见设计模式,优缺点,为什么要用

索引最左匹配原理

HashMap为什么线程不安全,HashTable为什么线层安全

TCP三次握手,4次挥手,为啥要3次握手

二面

介绍下自己

说一个实际sql调优的例子,生产的

遇到了那些比较大的挑战

上面你说的挑战如果要完全避免你觉得应该怎么解决

kafka怎么用有哪些问题,则么避免

算法 二叉树的层序遍历

数组的所有子数组(没做出来)

二叉树判断结构是否相同

三面

聊项目

mysql生产调优的例子

说下spark了解那些东西,这块没说好,因为之前一直没问着大数据的东西,没复习

实现一个延迟发布的功能,一开始没想出来,面试官说用redis才想到zset

100亿数据判断一个数字出没出现过

百度

一面

JVM配置哪些参数

FullGC次数比较多怎么查

JVM内存分区

CPU占用比较高怎么查

查看端口命令

包含ip的日志,查找前10个I出现的IP

类加载器

锁的状态(这块想问的其实是markdown的状态)

有什么多线程编程

map有哪些便利方法

HashMap扩容过程

NIO的原理,从操作系统说(想问fd系统)

零拷贝

自定义注解

Mvcc流程

Spring事务传播机制(没说好)

索引类型

B+树结构

分布式事务解决方案

Redis持久化机制

笔试 把一个数组构造成二叉树查找,并且打印倒数第N大的阶段

二面

项目里的技术难点是什么

经历过项目后哪方面的技术进步最大

项目的时序性怎么解决

AOP的原理,织入点和切面点代表什么意思

网关了解吗,有什么用

ThreadLocal原理,用法

mysql分库分表原则

redis槽位是什么,为什么需要槽位

缓存穿透,缓存雪崩解决方案

Oauth2.0了解吗

高德

一面

聊项目,项目里各个设计点

如果现在让你来重新做这个项目,你有哪些设计上的进步或者能够弥补的缺陷

在你最得意取得进步最大的项目里,你是有哪些收获和成长

除了技术上的成长,别的方向上的成长

netty的一个连接能消耗多少内存

netty为什么能保持这么多的连接

tcp发送数据流程,拥塞控制

undo log,redo log作用

说说mysql的锁

java不用锁能保证线程安全吗,怎么做

平时怎么学习的

你对你的最近两年的成长怎么规划的

你说你想做leader,那是技术leader还是业务leader,还是偏管理

这个面试官问了很多项目里的细节,怎么负载均衡,怎么做水平扩展等等。常用的框架和源码倒没怎么问

算法

数组,将奇数和偶数分离,要求空间复杂度O(1),时间复杂度O(n)

二面

聊项目

mysql索引,事务隔离级别

没了,对就这么一点,向

算法

两个栈实现队列

链表翻转

三面

聊项目,说说你在项目里最得意的设计,我列举了架构设计和AOP技术。

mysql B+树

redis,缓存淘汰机制,持久化机制,跳表

总的来说没怎么问八股文,可能前面都问的差不多了

算法

有序数组,找到和为target的指定值。我直接双指针,面试官说应该先判断升序降序,再二分。


剩下的是凉经,给大家做个参考。

滴滴

一个看起来像是搞技术的男人

Synchronized锁和Lock的区别,什么时候怎么选择(我觉得我把该说源码的都说了,他还在问到底怎么选择)

aqs实现,获取不到锁会一直cas,等待,cas吗(我答从代码上看是)

线程池说一下,你们服务器怎么配置的。线程池怎么监控

对象内存分配规则(分配的过程,不是类加载机制)

spring 事务原理(没答上来)

spring事务什么时候失效(想问异常类型的分类?)

redis怎么用,加入你们服务器主节点挂了会怎么样

redis分布式锁有哪些问题,怎么解决(我答了锁过期,锁续期,设置value识别锁)

redis过期删除策略(我答了随机删除和惰性删除说还有别的,这块问的很细,应该是想问内存淘汰)

mysql隔离级别,给了个场景,问我到底会怎么样

mysql乐观锁sql语句怎么写

CMS有什么问题,怎么解决(我答了浮动垃圾和并发标记阶段引用变更的解决方案,他问那具体是怎么解决,重新标记时会扫描所有老年代吗,没有的话怎么解决,我猜是靠卡表,这块应该直说我不会CMS,但知道G1是怎么解决的,面试官没理)

写代码,2线程交替打印1a2b3c4d

说下环形链表怎么解决,快慢指针

CPU 100%快速排查(我答了dump然后jstack分析,说不对)

说说你项目里最出彩的地方

感觉这个面试官面试攻击性很强,有些心不在焉,一些我答了的问题还问我怎么解决,我又复述一遍

快手

大概说一下项目

webflux 怎么配置的线程池(只是简单使用,没有配置)

aop的用法,用来做什么了(搜集日志)

怎么做的服务器监控,从整体说说(没说好,应该从流量入口SLB,服务内的指标设计,暴露的接口,健康检查,服务调用这块来说,这块可以从流量监控,怎么限流,熔断说说)

Mesos的资源分级(这块不理解)

aop方法内调用为什么会失效(动态代理的原理,这块没说好)

一堆数字,不会有重复的,大概19W-20W内存不够,实现一个数据结构能够判断出一个组字在不在这个数据结构里,且查找最近插入的数字要比之前插入的快(这块我答了bitmap,面试官说还有其他解法)

总的来说面试官态度比较好,比较温柔


字节

redis那些常用数据结构

redis为什么快(我答基于内存,单线程,对于特定的数据结构做优化)

为什么电脑需要内存

你自己实现一个redis的内存数据库,你怎么做

redis持久化方式,aof具体步骤细节

红黑树有哪些特点,和平衡二叉树有什么区别

mysql事务隔离界别有哪些,都有什么问题

repeat read有幻读问题吗

http常见错误码,502为什么表示网关错误

随机链表复制

总的来说面试官很nice,并没有网上传的那么凶残,



#秋招##面经##高德##京东##百度#
全部评论
总的来说这今年大厂都比较喜欢问源码,基本一面必问JUC里常用工具源码,相对应的,中间件的底层细节倒没怎么问,唯一算高频的就是redis,建议大家把redis吃透。mysql问的也不多,主要问问常用的索引优化守则,其他的kafka知道如何保证数据可靠性,zookeeper如何设计分布式锁即可,如果面试大数据,可能会让写sql,但是也不难,Hadoop底层,spark底层完全不用准备,几乎不问。网络协议和操作系统考的不多,但是字节的喜欢顺着一个问题往里面钻,为什么这样,为什么那样,不这样会怎样,不那样会怎样。 还有就是面试的时候回答问题要回答一个面试官了解的领域,如果答一个自己知道领域,但是面试官不了解,面试官可能觉得你在***。 面试其实还是挺考验运气的,祝大家有拿到心仪的offer
1 回复 分享
发布于 2021-08-18 17:52
这么良心的面经竟然没人评论
点赞 回复 分享
发布于 2021-10-13 21:24

相关推荐

点赞 评论 收藏
分享
想润的芹菜人狠话不多:把其中一个老总放中间都会得罪另一个
点赞 评论 收藏
分享
6 41 评论
分享
牛客网
牛客企业服务