字节校招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 就绪链表工作机制

#面经##校招##字节跳动##C++工程师#
全部评论
楼主你好,请问你是实习、校招还是社招?岗位是什么?开发的话,是Java方向还是C++方向?或者其他语言方向~
点赞 回复 分享
发布于 2020-07-18 18:33
马一下,不知道换行咋操作的
点赞 回复 分享
发布于 2020-07-19 16:33
文本编辑器敲回车键换行操作。操作系统层面解释 这个应该怎么回答?
点赞 回复 分享
发布于 2020-07-19 17:09

相关推荐

02-19 00:33
已编辑
国防科技大学附属小学 C++
一面:面了一个半小时#日常实习面试#1. 自我介绍2. 一两句话说明隐私计算是做什么的(之前实习主要做的这方面)后面聊到怎么将加密数据安全给用户没说清楚,被打断3. 介绍bustub项目,三种事务隔离级别:Read Uncommitted、Read Committed 和 Repeatable Read是怎么实现的4. 和mysql的实现不一样吗?5. 持久化是怎么做的6. redis的持久化是怎么做的7. 保持一致的算法,raft知道吗?(只听说过一些,讲了点大概)8. raft中是怎么选出主节点的?为什么超过半数票就成为主节点?(只能靠猜了)9. mysql的持久化怎么做的10. 介绍实习中的难点11. 爬楼梯(要打印出所有方案,递归写的,问有没有更快更省空间的做法,只说了dp,没完全满意)总结:本人做的偏底层,对redis和分布式算法了解不多,面试官主要是做业务的,问项目逻辑和流程更多,因此答的不是很好。孩子想学学业务,求给个机会吧二面:1. 自我介绍2. 讲一下实习做了哪些工作(我主要输出的是难点工作,涉及一些细节,但面试官更想知道性能怎么提升的,而不是代码重构的细节,这方面要注意)3. B+树的优势,为什么数据库用的是B+树4. 索引红黑树不是也可以吗,为什么不用5. 消息队列用过吗,介绍几种常见的6. 分布式有什么用?7. 分布式算法有什么(因为不太了解问题记不太清了,但面试官问的是提交、取消、二阶段提交等,我说了一下mysql的二阶段提交)8. 分析sql语句联合索引是否失效联合索引(a,b,c)select * from t where b=xx and a=xxselect * from t where a=xx and b>xxselect * from t where a=xx and b>xx and c=xx9. redis为什么快10. redis怎么实现分布式锁11. z字型遍历二叉树总结:简历上的问的不多,可能还是面试官都是做业务的。总之是凉了。
查看42道真题和解析
点赞 评论 收藏
分享
评论
2
18
分享

创作者周榜

更多
牛客网
牛客企业服务