字节跳动-国际化短视频后端实习一面面经
没有记录,全靠回忆
我写的自己的主要使用语言是C++(虽然项目是Java),所以都没有问语言的问题
自我介绍
让我介绍一下做的项目,我简历上只写了一个项目(Spring Cloud 微服务相关的),我就把这个项目拿来介绍了
介绍完之后,就开始了提问
你的项目里提到了微服务,那一般服务的拆分应该要怎么拆分
项目的难点是什么,你如何解决的
CSRF能介绍一下吗(这个我当时确实不知道,我只能说听过,但是记不太清楚了)
Redis和MySQL相比,为什么会比较快
知道redis的zset的底层数据结构吗
(回答的知道),所以跳表介绍一下
为什么zset不用红黑树,而要用跳表 (原作者说过有三个原因,我只回答了实现起来比较简单)
Redis的持久化方式,问题记不太清楚了,那两个持久化方式相关的都可以看看
写了一道SQL题:
三个表,Student(id, name),Course(id,student_id,score_id),Score(id,score)
查出数学成绩大于90的学生
写完以后,问了为什么要这样写(我就把我的思考过程说了出来)
问了几个JOIN的区别(LEFT JOIN等等),问我为什么要用LEFT JOIN
然后给了一个索引的问题(这个是和你写的SQL相关的),问了我如果给某一列建索引,你写的这个SQL会不会走索引
如果SQL语句执行得很慢,应该怎么做
你写的SQL语句还能优化吗,有没有不用子查询的方式(这个我不会)
数据库应该就结束了
知道HTTP2.0吗,可以介绍一下吗(我只简单看了点,我只记得一个HTTP2.0有头部压缩)
然后就问怎么头部压缩(我也不会),然后就问如果你来,你会怎么压缩
一个服务器如何监视多个socket(IO多路复用)
epoll相关的知识
数据库和磁盘怎么保证一致性
根据上面那个问题又说到了多核CPU怎么和内存保持一致性(缓存一致性协议)
算法题:
不同的二叉搜索树
反问环节
#实习经验分享##面试题目##字节跳动#