首页 > 字节校招cpp一面+二面
头像
20152021
编辑于 2020-08-24 12:59
+ 关注

字节校招cpp一面+二面

一面

  1. 给定一个二叉树,判断其是否是一个有效的二叉搜索树。
    假设一个二叉搜索树具有如下特征:
    节点的左子树只包含小于当前节点的数。
    节点的右子树只包含大于当前节点的数。
    所有左子树和右子树自身必须也是二叉搜索树。
    示例 1:
    输入:
     2
    / \
    1   3
    输出: true
    示例 2:
    输入:
     5
    / \
    1   4
      / \
     3   6
    输出: false
    解释: 输入为: [5,1,4,null,null,3,6]。
      根节点的值为 5 ,但是其右子节点值为 4 。
  2. 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。
    岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。
    此外,你可以假设该网格的四条边均被水包围。
    示例 1:
    输入:
    [
    ['1','1','1','1','0'],
    ['1','1','0','1','0'],
    ['1','1','0','0','0'],
    ['0','0','0','0','0']
    ]
    输出: 1
    示例 2:
    输入:
    [
    ['1','1','0','0','0'],
    ['1','1','0','0','0'],
    ['0','0','1','0','0'],
    ['0','0','0','1','1']
    ]
    输出: 3
    解释: 每座岛屿只能由水平和/或竖直方向上相邻的陆地连接而成。
  3. b b+树

  4. 数据库隔离级别 默认级别 可重复读实现机制?

  5. 用户态和内核态底层机制?

特权不同,运行在用户态下的程序不能直接访问操作系统内核数据结构和程序
用户态到内核态:

  • 系统调用
  • 异常
  • 外围设备中断
  1. epoll 就绪链表运转机制?
  2. 文本编辑器敲回车键换行操作。操作系统层面解释。[考察中断?]
    https://mp.weixin.qq.com/s/04BkLtnPBmmx6CtdQPXiRA

    二面

1 > 3 > 5 > null
2 > 4 > null
1 > 2 > 3 > 4 > 5
要求: 1. 不改变原链表的结构  2. 边界完整,代码可运行
进阶: 多链表 k个链表 n个节点  时间复杂度???
  1. 多线程范式? 进程 线程 协程?
  2. 牛客网这个请求过程? https? 牛客网面试这个网站不登录岂不是可以任意人访问,我写个脚本破坏一下?
  3. 同步 异步 阻塞 非阻塞
    https://www.cnblogs.com/wlwl/p/10291397.html

五种IO的模型:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO和异步IO;前四种都是同步IO,在内核数据copy到用户空间时都是阻塞的。
阻塞IO和非阻塞IO的区别在于第一步,发起IO请求是否会被阻塞,如果会那就是传统的阻塞IO,如果不会那就是非阻塞IO。
同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO;如果不阻塞,而是操作系统帮你做完IO操作再将结果返回给你,那么就是异步IO

5. epoll 就绪链表工作机制

更多模拟面试

全部评论

(3) 回帖
加载中...
话题 回帖

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐