(面经)2020年字节跳动-抖音暑期实习

字节跳动公司内以Go为主

所以一般字节的面试都是以算法为主

简历第一次筛选挂掉了,学长求情后第二次苟进了面试

一面(70min)

  • https、http、http2.0的区别
  • 详细讲一下https的四次握手
  • https的对称加密算法
  • http1.0和http1.1的区别
  • 客户端调http接口的时候超时了,怎么排查错误
  • 访问url的详细过程
  • 了解过缓存代理吗(好像是这个)
  • 详细讲一下DNS协议,基于TCP还是UDP
  • 为什么TCP首部有20个字节,具体有哪些
  • 数据库的幻读,举个例子
  • 如何解决,除了设置最高隔离级别以外
  • 内连接、左连接、右连接
  • C和C++是值传递还是引用传递
  • 值传递的时候是深拷贝还是浅拷贝
  • (手撸)求一个数的根号,精度小数点后5位
  • (手撸)有序链表合并
  • (手撸)求n个数中第k大数,先说思路再撸代码,不能用stl

二面

面试官是个程序媛啊!!!声音好好听!!!

  • (手搓)最大栈,不能用stl
  • (手搓)设计一个数据结构,模拟一个魔方,完成filp()、isFinish()函数
  • (场景题)【夏天吃西瓜】长按复制此条消息,打开抖音玩转道具$$QdTxquAQi78$$[抖音口令]
    这个口令的动画是怎么实现的,口令又是怎么生成的

三面

这场面试比较多智力题???还挺有意思的

  • 自我介绍
  • 项目介绍
  • 如何保证线程安全
  • hashtable是线程安全的吗?如何在保证线程安全的情况下提高效率?
  • 3人斗地主,大小王同时在一个人手中的概率是多少?(54张牌,农民17张地主20张)
  • 54张牌,一半是红的一半是黑的,随机抽2张是一红一黑的概率是多少?
  • 给你一个1到100的乱序数组,随机把其中一个数改成N,N是任意数,如何快速找到N及它的下标
  • (手撕)单链表:1,2,3,4,5变成1,5,2,4,3;1,2,3,4变成1,4,2,3,就是第一个和最后一个这样依次连接
  • 设计一个电梯调度算法,使得完成上下楼的人尽可能多,如何衡量这一指标
  • 一个岛有N个人,每个人头上有一顶帽子,黑色或者红色,每个人只能看到别人帽子的颜色,不能看到自己的,当一个人确定自己帽子颜色的时候可以离开这座岛。一天,岛上来了一个人说岛上至少有1个人的帽子是红色的,问每一天会发生什么?