当前位置: 首页 > 面试经验 >

字节 后台开发 1面问题+思考

优质
小牛编辑
95浏览
2023-03-28

字节 后台开发 1面问题+思考

1、背景

​ 最近收到字节面试通过的通知,把自己当中碰到的一些面试问题、复盘分享出来,祝大家求职顺利。

​ 比较多放一个不太合适,按照123面这样一个一个具体说。当中有一些我的思考可能回答的点大家也可以参考。

2、字节1面 技术面

个人自我介绍【略过】

mysql

    • 聊一聊mysql 你对索引的认识。

    其实比较大众化的问题,基本上是往着数据结构B+树角度去谈,为什么是B+。

    比如可以聊hash表、二叉树、多叉树等等,各自的优缺点;

    同时基础更好的同学可以围绕着 io ,page,innodb,b树b+树区别上聊,可以说很多。

    • 提到了聚簇索引,非聚簇索引。那非聚簇索引存的是什么?

    首先是要回答出,聚簇索引、非聚簇索引的区别,以及各自的存储引擎 是否涉及聚簇索引这个事情。然后才是存什么。

    概括上来说,跟数据绑定在一起的,就是聚簇索引;没有绑定在一起的就是非聚簇索引。

    可以接着延伸,回表,覆盖索引等等。

网络

    • osi 七层模型描述一下。

    描述每一个层,大概干什么作用,有什么协议即可。同理可以扩展5层,5层是把哪些合并了等等。

    当时复习没注意这个点,网络层传输层还说反了,答得不是很好。

    • tcp udp有哪些区别?对应哪些应用场景?

    这个建议好好读计算机网络自顶向下,说的挺清楚的。

    最起码的有链接无连接,tcp的一些特性(可靠数据传输、拥塞机制、流量控制),比如应用场景 实时通信,比如报文头区别等等,可以涉及很多。

    • tcp udp 哪个传输效率更高?

    效率更高这个我无从下手,当时就说 咱们评判效率标准是什么?比如我是追求传输的快?还是追求质量?按照我的框架下给出对应的答案。

    • 能不能基于udp完成可靠数据传输呢?

    这个问题就是顺着我说的质量,接着往下问的。应用层上可以做到的,书上也会讲到。

多线程

    • 进程 线程 协程的区别

    这个是因为我的简历上有go语言,协程,所以问了这个问题。

    • 多进程 多线程的区别

    本科老师教授过openmp和mpi,我就按照这两个的区别回答了一下。其实网上面经回答应该也挺好的,没有固定答案,可能是看个人思考吧。

    ​ 比如多个之间如何合作,共享变量怎么办,消息通信等等。java的也可以聊聊thread local,锁啊,进程通信(ip+port)等等。

算法 最大栈

最大栈,最大队列。和剑指offer的题目应该类似吧。

最大栈就是新建一个额外的栈,保存最大值;最大队列这样干的不是最好,得有一些操作,反正当时是没想到。

然后灵机一动,讨了个巧,用两个栈 实现一个队列,原来o(n),用两个栈的话最多也就o(2n)=o(n),符合要求,实现出来了。

3、其他

欢迎收藏点赞~有问题可以评论区指出哈

#字节面试##字节##23届秋招笔面经##校招#
 类似资料: