首页 > 字节提前提:杭州抖音直播后台一面凉经
头像
菜鸡在奔跑
编辑于 2020-07-26 16:53
+ 关注

字节提前提:杭州抖音直播后台一面凉经

7月23号晚上一面抖音后台,当时面的时候很多问题都不太会,模棱两可。面完后面试官叫我等一会儿不要退出,最后给我说时间太晚了,今晚就到这里吧,后续通知等hr安排。我还惊喜的觉得难道这就过了?果然,今天收到了感谢信。复盘了一下自己的面试过程(发现自己当时就是在胡扯,过才说不过去!)。面经写在下面,复盘之后加上了需要答的点。秋招第一次面试裸面,没怎么准备,结果也没啥奇怪的。祝各位兄弟姐妹们后续面试顺利 :)

  1. ES如何实现的高可用?

    (分布式集群、数据备份......)

  2. 如果 ES 某个服务器挂掉,数据会不会丢失?

    一个索引里面的数据,被分成多个 shard 进行存储【横向扩展,提高性能(可以分布式并行操作)】,shard 的数据有多个备份,每个 shard 都有一个 primary shard , 和几个replica shard (在其他的机器上,不在同一个节点上)。因此一个结点挂掉,master 会让 primary shard 对应的 replica shard(在其他机器上)切换为 primary shard。

  3. ES 是基于CAP 当中的那两个?

    个人觉得 AP

  4. MySQL InnoDB 数据如何存储数据的?索引是如何被存储的?

    所有数据都存放在表空间(tablespace)中,表空间由段(segment)、区(extent)、页(page)、行(Row)组成。数据段可以看成是B+树的叶子结点,索引段可以看做是B+树的非索引结点。一个区可以有64个的页。页是磁盘管理的最小单位。最终最小的单位是行,最终将数据按照行的方式存储。

    B+聚簇索引叶子节点上记录了行的全部列数据(加上事务id列及回滚段指针列);如果你在表上创建了二级索引,其叶子节点存储了键值加上聚集索引键值。B+树本身并不能找到具体的一条记录,只能找到该记录所在的页。

  5. Java vailiate 关键字的作用

    可见性 & 指令重排

  6. Java 内存模型、ThreadLocal 关键字(线程变量独享)

  7. 如何不用锁来 new 一个线程安全的对象 (final 关键字)

  8. Redis 常用命令?有啥坑?如果存储一个较大的value对象会有什么后果?(面试官:阻塞后续的命令)

  9. Redis如何实现高可用?

    (Master、slave、备份、哨兵、持久化)

  10. Collections.sort 咋实现的?这种排序方式是稳定的还是不稳定的?

    底层调用还是Arrays.sort() 方法。排序的数据量小于60采用快排。排序数据类型:基本类型采用快排(无须考虑稳定性)对于引用型数据来说采用的是归并排序。

    原理简介:http://svn.python.org/projects/python/trunk/Objects/listsort.txt 是个基于MergeSort 改进的 TimSort 方法。TimSort算法就是找到已经排好序数据的子序列,然后对剩余部分排序,然后合并起来

  11. Java什么变量存在堆里

  12. 如何确定Java栈的大小?

  13. 算法题:区间合并 https://leetcode-cn.com/problems/merge-intervals/

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐