2022暑期实习字节后端

一面:

  • 讲讲项目:java
  • 线程和进程的区别
  • http和https的区别
  • https的加密怎么做的
  • 非对称加密很好,为什么还要有对称加密
  • C++的智能指针
  • weakptr怎么变成shareptr
  • 引用和指针的区别
  • 算法题:
    • 乱序数组,找出两数之和等于target,返回下标,一个下标不能用两次乱序数组,找出所有的三数之和等于0,返回不重复的版本,固定第一个,双指针搞后两个数

二面:

  • 链表比数组的优点
  • 面向对象的好处
  • 多态的好处
  • 进程和线程比较的特点
  • 进程间通信方式
  • 已知进程名怎么查询进程号
  • 已知进程号怎么查询进程名
  • io多路复用及好处
  • 跳表是什么(不会,给提示是map的一种,然后讲了stl里的map和unordered_map)
  • http和https的区别
  • 地址栏输入url的过程(没答明白所以又问了一下怎么建立长链接
  • http码(301和302的区别,502和504的区别
  • https建立连接的过程
  • tcp的三次握手和四次挥手
  • 为什么是三次握手和四次挥手
  • 算法题:实现62进制加法(0~9 a~z A~Z)

三面

  • 什么是用户线程和内核线程
  • 用户线程和内核线程的对应关系
  • 用户线程怎么切换到内核线程
  • 为什么要有内核线程
  • 死锁的形成原因和如何破坏死锁
  • tcp为什么三次握手
  • 解释tcp拥塞控制
  • tcp如何实现长链接(我答了http来挽尊,其实是心跳包)
  • 了解tcp底层实现吗(问了一个什么机制没听清
  • 多线程如何利用多核
  • linux查线程 io 的指令
  • linux文件系统
  • 如何读取磁盘文件
  • linux的虚拟内存定义
  • 输入url后的过程
  • web服务器接收到http请求后的处理
  • http请求报头关键字
  • 了解哪些路由协议(我解释了ARP,然后问问ospf协议)
  • 路由处理数据包的具体过程机制和相关协议
  • 深拷贝和浅拷贝的区别
  • 算法题:
    • 实现前缀树
    • 区间覆盖:输入一组区间,把有重合的区间拼到一起,输出无重合的区间

你可能感兴趣的:(面试,c++,后端)