字节跳动面试题

计算机网络

从url输入到最后访问的过程

总体分为以下几个过程:

  • DNS解析——解析域名,获取对应的ip地址
  • TCP连接——TCP三次握手
  • 浏览器发送http请求
  • 服务器处理请求并返回http报文
  • 浏览器解析返回的数据并渲染页面
  • 断开连接:TCP四次挥手

参考:https://www.jianshu.com/p/8446d0ce9782

TCP/UDP区别

参考:https://www.jianshu.com/p/e8ea289b478e

参考:https://zhuanlan.zhihu.com/p/24860273

TCP为什么可靠,怎么实现可靠的


url为什么要编码
OSI参考模型以及每层作用和大概的工作方式
三次握手
四次挥手
Time wait/Close wait
Http/Https区别
GET/POST区别
拥塞控制的四种方式
粘包和拆包
Https加密过程
DNS查询过程

操作系统:

进程和线程的区别
进程和程序的区别
进程的通信方式
线程的通信方式
死锁的发生原因以及如何避免死锁
内存调度

Java语言特性:(因为简历上只写了简单了解Java,Java相关的就问的不多)

Java多线程的实现方式
Java和C++的区别

C++语言特性:

C++怎么实现多态的
虚函数表保存的是什么
内存对齐的原因
改变默认内存对齐长度的指令
菱形继承的相关问题
各类指针的分辨和区别(常量指针、指针常量、函数指针等)
空类大小以及为什么
C和C++的区别
map和set的底层实现及区别
红黑树的结构以及如何调整树结构的
函数指针的优势
编译的过程
怎么链接的

数据库:

数据库索引的结构以及为什么
索引的优劣势
索引失效可能会导致什么
索引为什么失效
事务是什么
锁的种类和区别

Linux相关:

各类Linux指令的附加操作含义(例如:ls -h)

智力题:

不均匀的两段绳子,每段能燃烧一小时,如何确定15分钟

算法

一面(1.5h):
链表奇升偶降


二面(1h):
合并有序数组
路径总和
合并区间


三面(1h):
计算C/C++文件中的注释个数,以及忽略注释
包含 //, /* * /, /* /**/等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值