字节跳动 后端开发实习 一面面经
base:杭州 2021.12.7
面试官上来先说本次面试时间持续45分钟左右,结果最后只用了半小时不到,有点意外。
upd:在写面经的时候收到二面短信了
HTTP 断点续传
这部分答得不是很好,隐隐约约只记得HTTP1.1新加,和头部range字段有关,具体的流程没答清楚感觉。
HTTP 403
学校里教的什么语言?为什么学Go?
Go的协程和线程有什么区别
这部分答得很细,一直讲到了GMP模型
协程之间怎么通信
回答:最简单通过共享变量上锁。Go中还可以使用channle通信,并鼓励使用channle,还提到了CSP模型。
CSP模型是怎么样的?
没深入了解过。(在面试过程中千万不要提自己不熟悉的名词,不然就会尬住了)
channel底层?
用过什么数据库。MySQL和Redis
MySQL有哪几种索引?聚簇索引,辅助索引,联合索引
索引用的什么结构?为什么用B+树?老八股了
select * from table where time > 1 and time<10 已经建立了time索引,那么会不会使用该索引?
答:该查询使用索引会涉及到回表操作。虽然time索引按顺序存放,但是再一次回表查询的时候是无序的,因此变为了磁盘上的离散读操作。如果MySQL优化器认为全文顺序读更快,那么就不会使用索引。
Redis中的zset结构?
我们来写题吧。给一个二叉树,返回从右到左看的见的部分。
input:
a
b c
d
output:
a,c,d