乐趣区

关于golang:第二十期字节跳动-效率工程-后端开发实习生-一面面经

面试软件用的字节本人的飞书。面试官掉线了好几次。。。

开局自我介绍。

1. 首先是语言局部:

  • go 和 java 的区别
  • 协程与线程的区别
  • java 的 hashmap 的原理
  • java 的接口与抽象类的区别。
  • 什么时候用抽象类,什么时候用接口

2. 计算机网络局部

  • tcp 与 udp 的区别
  • tcp 如何保障牢靠有序
  • tcp 的拥塞管制
  • 服务端给客户端发送 123 个报文,收到了 3 的 ack,下一步发哪一个报文
  • http 每个版本的区别
  • http 1.1 中流水线阻塞的原理,http2 中多路复用的原理,为什么不阻塞了(这个是真的不会。。)
  • https 秘钥替换过程 对称秘钥被黑客截取了咋办(感觉问的有问题,我就答复说对称秘钥不可能被黑客截取,因为对称秘钥是应用服务端公钥加密过的,只能应用服务端的私钥解密)
  • https 的公钥被劫持的咋办(ca 证书)

3. 操作系统局部

几种 io 模型 说了同步阻塞,同步非阻塞,异步非阻塞 同步非阻塞与 io 多路复用的区别?(不晓得,求大佬们解答)io 多路复用复用的什么局部(猜了一个发射端缓存,也就是 buffer,网络编程这部分真的没咋看,得增强一下。。)

4. 数据库局部

  • mysql 索引优化(最左准则 …..)聚簇索引与非聚簇索引 非聚簇索引怎么查的(回表)索引生效 redis(不会 redis,问的问题忘了,面试官问了一道发现我不会,也就没问)

5. 数据结构局部

  • 给定一个数据流,流外面是一些单词,要求应用一个数据结构统计单词的个数(hashmap 或者字典树)
  • 给定一个单向有序链表,要求应用一个数据结构能疾速查出给定节点值(跳表,我感觉在链表上建 b + 树也能够)

6. 算法做题

  • 应用本人的 ide。
  • lc 的链表对折那道题。

    20 分钟不到,须要自建节点,本人

  • 在 main 函数里实例化链表而后测试

这道题不难然而又臭又长。。首先要用快慢指针找到中点,而后将慢指针前面的局部翻转失去另外半个链表,最初将两个链表合并。

写进去了,运行发现有谬误。。。没 debug 一会儿,面试官叫我停了,把代码复制给他而后就匆匆忙忙完结了。

没有反诘环节。。总体感觉体现的不是很好,很多问题说的语言不顺畅,还好过了。。面试官蛮不错的,遇到不会了就跳过,也不查究。

退出移动版