又是在牛客网被邀请投递,我发现字节好喜欢邀请我,被邀请三次了,主动投递不理睬,邀请的一般都会有面试机会。

  • 自我介绍

分布式对象存储项目

  • 怎么实现的?
  • 数据去重算法怎么做的?怎么判断具体的数据怎么重的?复杂度?哈希表存储在内存?内存爆满怎么办?用redis做缓存,如果redis缓存中key过期数据不存在,是否存储到数据服务?O(n)判断?。这里一直在追问,一开始没有理解什么意思,
  • 断点续传怎么实现的?

go语言

没有问

计算机网络和操作系统

  • http的method?具体?
  • cookie和session有什么区别?
  • http和https的区别?单项认证和双向认证流程?对称加密和非对称加密?流程?
  • DNS解析的过程?域名服务器怎么解析?
  • 进程和线程有什么区别?一个进程有什么数据段?同一个线程有哪些数据段可以共享的?你觉得栈区会共享吗?栈区和堆区有什么区别?
  • 进程的通信方式?哪些方式比较快?为什么共享内存比较快?管道为啥慢?

数据库

  • Mysql的索引有哪些?B+树和哈希索引有哪些区别

算法

  • 版本号对比,version1和version2.大于返回1,小于返回-1,其他返回0.001和0001比较的时候都视为1;1.0.0和1.0是相等的返回0
  • 直接给的main函数,没有其他东西

总结和心得

  • 面试官的评价是基础还不错,代码能力有待加强。项目比较符合后端技术栈,做项目需要考虑如何更快的实现?考虑边界条件,做业务很多问题就出在这里
  • 然后总结一下算法题,这个题目出乎我的意料,以为是链表和树,结果是一道从来没见过的题目,所以重点还是要提升自己的算法能力,而不是固有的题目,知道面对一道题怎么去思考?一开始不要急着写,和面试官聊一下思路,边界条件没有考虑准确,这个面试官说也是考察中十分重要的
  • 对面试经历的要求不会太多,理解本科生,不太会要求,看重计算机基础和项目亮点,尤其是做项目有哪些难点和亮点,代码能力是最基本的能力,项目就是锦上添花
  • docker和k8s考察比较少,侧重计算机基础,算法能力,思考问题能力
#字节跳动 ##日常实习##golang开发实习##golang#