程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

东大硕士分享面经:被头条回捞,B+、二叉树都问了,没问红黑树

balukai 2024-12-23 16:43:58 文章精选 73 ℃

前言:

职场就像围城,我们每一个职场人总是以“墙外”的视角羡慕着“墙内”的世界,而也许你的生活也出现在别人的梦中。希望“互联网坊间八卦”能成为一个分享和了解不同生活的平台。

今天,笔者给大家分享一位程序员面试字节跳动后端的技术面面经。让我们一起了解一下程序员最原始的生活状态。希望这些“干货”能让你认识到不一样的程序员的职场生活。

我是被捞起来面的,一面1个小时,休息了5分钟之后直接二面,也是1个小时。第二天三面,应该是leader面,就面了半小时左右。过了两天之后进入HR面,全程没有问红黑树。

一面:

计算机网络

  • 三次握手
  • 握手时产生的序列号干什么用的
  • 讲一下接收窗口
  • TCP和UDP的本质区别
  • 什么时候选择TCP/UDP
  • HTTPS的连接过程
  • 7层模型和4层模型,每一层有哪些常见协议?
  • 路由器/交换机是哪一层
  • 网络层用来干嘛?传输层用来干嘛?
  • HTTP可以使用UDP吗
  • HTTPS怎么确认收到的包就是服务器发来的
  • 确定发送窗口的大小,如何最大利用带宽,假设延迟100ms,发送端10Mb/s,接收端100Mb/s

数据库

  • 事务的四大特性
  • 四种隔离级别
  • 什么是幻读
  • InnoDB 怎么防止幻读
  • B+树原理,为什么使用B+而不是二叉平衡树

操作系统

  • 用户态如何切换到内核态
  • 进程间通信的方式,哪种最快
  • 信号量怎么实现对共享资源的访问

语言

  • 什么是Python生成器,迭代器;
  • 什么是装饰器;
  • 元组和list的区别;
  • Python中的dict底层怎么实现的
  • list的底层怎么实现的;
  • 双等于和is有什么区别

算法

  • 求x的y次方,想出比直接for循环更好的方案
  • 求绝对众数

二面

设计题:一个数据库存了以下数据:用户id,登录时间,登出时间;如何找到一天当中的用户峰值(用一个hash map存所有秒数的在线人数)

为什么要分用户态和内核态

Git 切换分支,提交,具体如何合并分支

Python多线程用了几个CPU

算法:二叉树,输出所有和为n的路径(可以从中间结点到中间结点)


三面

和其他同学相比,你觉得自己有什么优势

自己的不足有哪些

GitHub和博客上分享过哪些东西

TCP的流量控制和拥塞控制

浏览器中输入网址到获得页面的全过程

输入 www.baidu.com,怎么变成 https://www.baidu.com 的,怎么确定用HTTP还是HTTPS

接触过哪些后端框架

知道redis吗

你用Django的时候,觉得它有哪些好的特性

除了Python还接触过哪些语言

多久入职

Tags:

最近发表
标签列表