金九银十,入职字节跳动那一天,我哭了

入职字节跳动那一天,我哭了(蘑菇街被裁,奋战7个月拿下offer)

[](()环节四:字节跳动面试经历,真实记录还原

===================================================================================

字节跳动一面:

第一面我觉得应 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 该是基础面,重点考察的是自己技术的广度 和一些技术的掌握情况,一面小哥哥也没有深究于某个特定的点,面试时间大约1个小时。

  • 自我介绍

  • 怎么打算投递后台岗位的,没有考虑契合自己研究方向的工作?

  • 有了解过OAuth2.0么,说说你对OAuth2.0的理解

  • 蘑菇博客开发过程中,有了解或学习其它的开源框架吗?

  • 蘑菇博客文章发布的流程是怎么样的,是多人博客系统吗?

  • 对其它的一些博客框架有了解吗?比如hexo

  • hexo和蘑菇博客相比有什么区别呢?蘑菇博客多了哪些功能和优势?

  • 看你蘑菇博客用到了RabbitMQ,那谈谈为什么引入RabbitMQ?

  • RabbitMQ和其它消息队列,比如ActiveMQ,RocketMQ,Kafka有什么区别?

  • Redis在你博客项目中的使用,为什么引入Redis?

  • Redis中存储的是热门文章,是通过什么来得到的?这样做会有什么问题么?

  • 有听过长尾效应么?你通过推荐字段设置的推荐等级,这样会让这些文章一直保持在较高的点击量,而且热度和点击量也不会随着时间而降低,有什么解决方案么?

  • 我看到你有用到JustAuth这个登录授权?说说它会存在账号泄漏的问题么?

  • 下面谈谈Redis,它会存在线程切换的问题么?

  • 谈谈Redis单线程模型和IO多路复用

  • Redis的大Key的问题,如果有个Value的大小是2M,会有什么问题么?最大支持的Value大小是多少?

  • 谈谈Redis集群 Redis Cluster,以及主从复制原理?

  • 说说Redis中的哨兵,即Redis Sentinel

  • 下面来聊聊Linux,你知道Linux怎么查看当前的负载情况么?

  • 你还知道其它的一些Linux命令么?

  • cat、tail、vi、vim命令的区别,分别说一说?

  • 如果Linux下需要打开或者查看大文件,你会怎么做?

  • 下面聊聊Http Code,你知道 3XX 状态码 对应的是什么?

  • 谈谈你知道的其它一些状态码,4XX 和 5XX?

  • 算法题:

(1)# 给定一些数组,例如下面的格式,他们都表示一个区间,然后你需要将区间进行合并

[1,2],[2,4],[3,7],[8,11]

[](()如上所示, [1,2] 和 [2,4] = [1,4]

=================================================================================================

[](()然后 [1,4] 和 [3,7] = [1,7]

==============================================================================================

[](()最后 [1,7] 和 [8,11] 无法合并,所以最后结果应该返回 [1,7],[8,11]

======================================================================================================================

(2)# 给定一个数组,例如 [1,1,2,2,2,3,3,3,3]这样的,里面的数组不一定连续并且有序,假设我输入 2,这个2表示出现次数最高的两个

[](()那么你需要给我返回 2,3

=============================================================================

字节跳动二面:

  • 自我介绍

  • 博客已经开源了么,用的什么开源协议,博客的用户多么?

  • 看你博客中用到了Solr和ElasticSearch,谈谈它们的原理,以及倒排索引?

  • 对于Solr或者ES里面用到的一些中文分词器有了解过么?

  • 谈谈那些技术栈,你比较熟悉的是那些,mysql 和redis?

  • 聊聊MySQL的底层索引结构,InnoDB里面的B+Tree?

  • B Tree 和 B+ Tree的区别

  • 聊聊MySQL索引的发展过程?是一来就是B+Tree的么?从 没有索引、hash、二叉排序树、AVL树、B树、B+树 聊。

  • 谈谈MySQL里面的事务,说说什么是事务?

  • MySQL里面有哪些事务级别,并且不同的事务级别会出现什么问题?

  • 谈谈可重复读和幻读的区别?

  • MySQL中如果使用like进行模糊匹配的时候,是否会使用索引?一定不会用么?

  • 谈谈Redis吧,在你项目中的具体使用?

  • 谈谈Redis如何实现分布式锁?

  • 蘑菇博客是否存在缓存不一致的情况,你是如何解决的?

  • 谈谈Redis中缓存穿透的问题,以及解决的方法?

  • 还有其它解决缓存穿透的方法么?布隆过滤器有了解过么?

  • Redis中大面积的缓存失效,然后请求全部打到数据库,有什么解决方法?

  • 如果出现一些热点数据,比如明星之间的新闻,造成大量的吃瓜用户涌入后台,但是服务器还没有缓存对应的数据,这样可能造成数据库宕机,如何避免这样的情况?

  • 聊聊 JVM的组成结构?

  • 谈谈垃圾收集原理?以及垃圾收集算法

  • 复制算法 和 标记整理算法?

  • 为什么不在新生代使用标记整理算法?或者在老年代使用复制算法?

  • 有了解过Volatile么?谈谈你对Volatile的理解

  • Volatile如何保证可见性的?以及如何实现可见性的机制。

  • 如果大量的使用Volatile存在什么问题?

  • 谈谈操作系统的线程,以及它的状态

  • 线程和进程的区别?

  • 为什么提出多线程应用,而不是多进程应用呢?

  • Linux你平时都有用到什么命令呢?

  • 如果我需要查看端口号或者进程号,你会使用什么命令?

  • 谈谈你做的另外一个项目吧?稍微介绍一下

  • 来吧,写个题目试试

[](()链表的两两翻转 # 给定链表: 1->2->3->4->5->6->7 # 返回结果: 2->1-> Java开源项目【ali1024.coding.net/public/P7/Java/git】 4->3->6->5->7

===============================================================================================================================

字节跳动第三面:

  • 自我介绍* 好奇一下,用码/云的人应该不多吧,为什么没有用Github?* 你英文水平怎么样?* 聊聊开源项目吧?我看这项目已经有800多赞了,你在这开源项目主要做了什么工作?* 我们找些点来聊聊吧?先从ES和Solr开始,你们这两个都有在用么?* SQL的方式实现搜索,你是怎么做的呢?* 使用like匹配的时候,会不会查询非常慢呢?* ES和Solr的底层都用了lunce,谈谈你对lunce的理解?* lunce里面也有用到分词器,比如一些新的词 “新冠肺炎” ,它能不能做到很好的划分呢?* 除了人为的维护词库,来解决最新词语的分割,你还有知道其它什么更好的方法么?* 你有了解过其它什么开源的分词库么?* 谈谈字典树?* Solr 和 ES底层都用了Lunce,那他们两者有什么区别呢?* Solr所谓的集群环境 和 ES所谓的分布式环境,它们之间有什么区别呢?* 上面你有提到微服务,你有了解过微服务是个什么样的理念么?* 你现在的微服务,也是打包成多个jar包,部署在一个服务器上,如果服务器出现问题了,也会造成服务不可用,有没有好的解决方法呢?* 聊聊服务的注册与发现?* 服务的注册和发现,其实依赖于一个注册中心的概念,会不会出现注册中心挂掉,而导致整个服务不可用,有没有什么好的解决方法呢?* 有了解过Zookeeper整个的选举过程么?* 谈谈Zookeeper的分布式一致性协议?* 聊聊索引,我给你写个表,看看下面的查询语句,走了那些索引?

create table ‘tb’ (

id int,

name varchar(64),

status int,

createtime timestamp,

PRIMARY KEY (id)

)

– 创建了三个普通索引

最后

由于文案过于长,在此就不一一介绍了,这份Java后端架构进阶笔记内容包括:Java集合,JVM、Java并发、微服务、SpringNetty与 RPC 、网络、日志 、Zookeeper 、Kafka 、RabbitMQ 、Hbase 、MongoDB、Cassandra 、Java基础、负载均衡、数据库、一致性算法、Java算法、数据结构、分布式缓存等等知识详解。

image

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

image

image

[外链图片转存中…(img-Dotn8wNY-1650019453115)]

本知识体系适合于所有Java程序员学习,关于以上目录中的知识点都有详细的讲解及介绍,掌握该知识点的所有内容对你会有一个质的提升,其中也总结了很多面试过程中遇到的题目以及有对应的视频解析总结。

[外链图片转存中…(img-J1Uo9sPB-1650019453116)]

[外链图片转存中…(img-YdWRh17y-1650019453117)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
金九银是指每年的9月和10月,是求职市场的旺季,也是一年中最好的就业季节。在这个时期,很多公司都会开展招聘活动,包括Java开发岗位。因此,准备一些Java面试题是非常有必要的。根据引用所提到的Java面试题大全,这套面试题被分为六个模块,分别是Java基础面试题、多线程面试题、Redis面试题、数据结构与算法、Java异常面试题和JVM面试题。其中,Java基础面试题涵盖了Java语言的基本知识,多线程面试题关注多线程编程的相关概念和技巧,Redis面试题则涉及到对Redis的理解和使用,数据结构与算法模块考察算法思维和数据结构的应用,Java异常面试题关注Java异常处理机制,而JVM面试题则着重于Java虚拟机的原理和性能调优等方面的知识。由于篇幅限制,无法一一展示所有的面试题,但可以通过引用和引用中提供的方式获取更多的Java面试题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [2020 年 Java 面试题集锦(金九银)](https://blog.csdn.net/qq_41770757/article/details/107900873)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [精选2020年大厂高频Java面试真题集锦(含答案),面试一路开挂](https://blog.csdn.net/QAQFyl/article/details/108028787)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值