文档章节

四面字节跳动(高级开发岗):分布式+中间件+TCP+JVM+Hashmap+ThreadLocal

I
 IT-哆哆
发布于 07/04 11:27
字数 1370
阅读 51
收藏 0

「深度学习福利」大神带你进阶工程师,立即查看>>>

字节跳动的面试官都挺好,面试的内容是我面试那么多家以来最全面的,问题也没有特别刁钻,都比较符合工作场景。

项目很重要,项目是敲门砖也是面试的大头,如果我没有简历上的两个项目的话,估计简历都很难被捞起来,而且进入到3面。

很多面试题都是从项目角度去提问的,而且回答的时候也可以结合项目回答,这个很加分。

除了项目所用技术之外,也要关注项目的业务以及架构,最好是能融合在一起讲清楚。

只有多面试,你才能将原有的「我以为」思维变成「原来是这样」。 file

一面

  1. TCP三次握手和四次握手?为什么三次握手,TCP 的ack seq是ack次数还是ack字节数?RST报文指的是什么报文?
  2. http2的原理,https的原理,描述一下TSL的握手过程。
  3. JVM线上参数设置,为什么这么设置?能讲讲jdk的分代搜集器原理吗?
  4. volatile 关键字是如何防止指令重排的,synchronized能防止指令重排吗?
  5. 那进一步说说synchronized的锁消除与锁优化,自旋锁轻量级锁与重量级锁分别都是什么?
  6. Innodb引擎一个数据页的大小为什么是16KB?20个mysql字段,都是varchar(10),1000w数据情况下b+树高度是多少?
  7. 结合WAL机制和回滚段说一说innodb 事务引擎的MVCC原理?
  8. Select/Poll/Epoll 三种系统IO的区别?
  9. Zookeeper做服务的注册中心,如果服务规模大于1000,会发生羊群效应网络风暴,怎么优化?
  10. 说一说你理解的countdownlatch?countdownlatch的底层原理?AQS又是什么?
  11. 线程池的各个参数,ThreadLocal?怎么优化?知道FastThreadLocal吗?
  12. 装饰者模式和代理模式挺像的,他们有什么区别?
  13. 你们用了SpringCloud,能从源码角度讲一讲Eureka的底层架构与设计原理吗?
  14. 13亿用户量的微博plus,如何设计点赞系统才能保证高性能?
  15. 用户画像系统,用户标签一直在增加,怎么设计表结构?
  16. 手写一下线段树代码。

二面:

  1. Hashmap底层原理
  2. 讲讲Netty的内存池算法和对象池算法,什么情况下会内存泄漏?
  3. 你刚才说Netty使用PooledUnsafeDirectByteBuf。Unsafe是什么,java里能直接new吗?
  4. 分布式事务两阶段提交如果第二阶段超时了怎么办?
  5. 嗯,那tcc的原理能讲一下吗?新出来的Seata 有调研过吗?
  6. 分别从NIO层面和netty层面讲解一下零拷贝。
  7. 给你一个oom.hprof,让分析内存泄漏可能的原因。
  8. 微服务,怎么拆的,为什么要那么拆,
  9. 老生常谈题目,mysql和redis的数据如何保证一致性,就是 cache asigned pattern.
  10. 老生常谈题目:如果保证redis的内存里全都是最热的数据,考察的是redis的内存淘汰策略。LRU。
  11. redis说到了LRU,让手写一个lru算法。(用LinkedHashMap实现)
  12. mysql为什么用b+树,和b树区别?
  13. mysql 从二叉查找树说到红黑树说到多叉树再到b到b+,最后让手写了一个二叉查找树的中序遍历。

三面:

  1. 你们用了rocketmq,说一说rocketmq是如何保证消息写入的高性能,如何保证消息不丢失的?
  2. spring的设计思想。
  3. cpa定理,redis是cp的还是ap的?为什么?zookeeper是cp的还是ap的,为什么?
  4. 说一说你理解的面向过程,面向对象和函数式编程
  5. 你的技术职业规划。

HR面:

  1. 你的优点。
  2. 多久能入职。
  3. 薪资问题。

对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。

整理的这些架构技术希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。

合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!

趁年轻,使劲拼,给未来的自己一个交代!!!

上面的这些面试题都整理成了PDF文档,希望能帮助到你面试前的复习并找到一个好的工作,相对来说也节省了你在网上搜索资料的时间来学习!!!

附欢迎关注我的公种号:it资源之家 ,扫描下面二维码即可领取更多一线大厂Java面试题资料!

最后

欢迎大家评论区一起交流,相互提升;整理资料不易,如果喜欢文章记得点个赞哈,感谢大家支持!!!

I
粉丝 0
博文 167
码字总数 619675
作品 0
长沙
私信 提问
加载中
请先登录后再评论。
beego API开发以及自动化文档

beego API开发以及自动化文档 beego1.3版本已经在上个星期发布了,但是还是有很多人不了解如何来进行开发,也是在一步一步的测试中开发,期间QQ群里面很多人都问我如何开发,我的业余时间实在...

astaxie
2014/06/25
2.7W
22
Web开发组件管理器--Bower

Bower 是一个针对Web开发的包管理器。该工具主要用来帮助用户轻松安装CSS、JavaScript、图像等相关包,并管理这些包之间的依赖。 功能有些类似于Component。不同之处是,Component是围绕Git...

匿名
2013/02/01
1.2W
2
研究虚拟机--Jikes RVM

Jikes研究虚拟机(Jikes Research Virtual Machine,简称Jikes RVM)是一种成熟的用于执行Java程序的虚拟机,其早期版本与当前版本分别在通用公共许可证(CPL)与Eclipse公共许可证(EPL)下开...

匿名
2013/02/13
1.1K
0
跨平台手机应用开发--Gideros

Gideros 可以让你轻松快速创建 iOS 和 Android 应用,提供用户友好的集成开发环境,内建模拟器对应用进行不同屏幕大小、分辨率下的测试,最大的优点是可即时修改代码即时进行测试,无需编译安...

匿名
2013/02/19
2.8K
1
集群存储系统--YFS

YFS集群存储系统由多个元数据服务器(MDS)、多个块数据服务器(CDS)和多个客户端(client)互联组成集群; 数据被分成64M固定大小的数据块(Chunk),每个数据块在CDS本地以常规文件的形式...

匿名
2013/02/19
1.8K
0

没有更多内容

加载失败,请刷新页面

加载更多

Subversion存储库中“分支”,“标记”和“主干”的含义是什么?

问题: I've seen these words a lot around Subversion (and I guess general repository) discussions. 我已经在Subversion(我猜通用存储库)讨论中看到了很多这样的话。 I have been us......

富含淀粉
今天
5
0
《Java8实战》笔记(03):Lambda表达式

本文源码 Lambda 管中窥豹 可以把Lambda表达式理解为简洁地表示可传递的匿名函数的一种方式:它没有名称,但它有参数列表、函数主体、返回类型,可能还有一个可以抛出的异常列表。 Lambda表达...

巨輪
今天
7
0
从其他文件夹导入文件 - Importing files from different folder

问题: I have the following folder structure. 我有以下文件夹结构。 application/app/folder/file.py and I want to import some functions from file.py in another Python file which r......

javail
今天
22
0
大数据研发学习之路--Hadoop集群搭建

阅读编译文档 准备一个hadoop源码包,我选择的hadoop版本是:hadoop-2.7.7-src.tar.gz,在hadoop-2.7.7的源码 包的根目录下有一个文档叫做BUILDING.txt,这其中说明了编译hadoop所需要的一些...

DSJ-shitou
今天
8
0
OSChina 周五乱弹 —— 特么是别的公司派来的特洛伊木马吧?

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 小小编辑推荐:《我会守在这里》- 毛不易 《我会守在这里》- 毛不易 手机党少年们想听歌,请使劲儿戳(这里) @FalconChen :股市连跪了五天,...

小小编辑
今天
77
2

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部