字节上海客户端面经一二三面

1115 内推投简历
1117 hr联系约19号面试

1119一面

操作系统

  • 进程线程
  • 平常用线程编程过吗 举个例子?
  • 刚刚提到互斥 怎么保证线程互不干扰?
  • 死锁
  • 提到银行家算法就说一下具体实现

数据结构

  • 怎么用两个队列实现一个栈?
  • 排序有了解吗
  • 说一个印象深刻的排序算法?(讲了快排)
  • 快排既然有比较差的情况 怎么改进?
  • 平均复杂度是nlogn 是怎么算出来的?
  • 还有什么印象深刻的数据结构?
  • (讲到树) 既然刚刚提到交换左右子树的题就写一下吧
  • 一道算法题 交换左右子树 (一边写一边解释了思路 没有跑)

计网

  • 基本的TCP UDP介绍一下?
  • 刚刚提到TCP有保证稳定链接的机制 提到拥塞控制 详细说一下过程?(快恢复还是啥忘记名字了 面试官提示了一下)
  • 拥塞控制中怎么知道网络的拥塞程度的呢(前面关于阈值和ccwindow名字想不起来了)
  • 可以具体再说说吗(说到收到冗余3次和超时两种情况 会对应不同的处理方式

介绍一个课外项目

说了南小包 问了如何处理一些错误情况 异常 比如用户支付失败

开放性问题

  • 如何实现随机播放音乐
    • 一个是均匀随机 面试官提示了洗牌算法
    • 一个是权重 完整听到的歌加权重

反问

问了一下做什么业务
一般用什么语言

1119 晚上7点半 一面通过

1122下午四点二面

  • 问了一些个人规划

  • 为什么投iOS?(简历上写得多的是后端 我说看起来新手友好所以想试一下 面试官:”看来是做什么都可以对吧” 我:”是这样的“)

  • 你觉得自己优势的能力?

  • 做过最有挑战性的项目?(提到了大二上PA搞了我一个星期的bug)

  • 这个bug为什么花了一个星期 最后怎么解决的 最后有和同学交流吗

  • 现在让你debug你会怎么做?

  • 一个电商平台你会如何设计?

    • 写一个计算满减的结算函数?

基本没问啥算法 都是软问题

反问

实习生培养?

1123 二面通过 约三面

1124晚上七点三面

  • 问了个人规划 为什么这个时候投实习(说计划本科出来工作所以来试试)
  • 不打算读研吗
  • 对什么方向感兴趣(因为我感兴趣的方向我也不是太懂 就说还需要探索)
  • 介绍一下做的app应用吧——被问了一堆业务端逻辑设计给我问傻了 主要是写一些request和response流程
  • 社交app好友列表 怎么在手机上第一次获取好友列表
  • 在pc上添加了好友 在手机需要怎么同步
    • 说想要添加删除的信息 说成了log 给了提示 设备上可以获取与某个好友加好友的时间 还有另一个条件我忘了因为不理解 然后说了一下用加好友的时间倒序检查手机上没有登陆更新的这段时间的好友添加时间然后更新
    • 时间快到了就没多问 感觉确实盲区了55
  • 平常除了课本还看什么技术内容吗
    • 提到在看拓展阅读读到java虚拟机相关+垃圾回收 但是不熟 属于把自己坑到了
  • 大三什么时间方便实习 上课怎么办?

反问

怎样学习客户端设计逻辑?

结果

1125口头offer 1129隔了一个周末邮件正式offer确认