首页 > 字节教育后端实习面试,已offer
头像
lzlaa
编辑于 2021-04-15 09:25
+ 关注

字节教育后端实习面试,已offer

字节教育后端实习面试,已offer

一面

  1. 介绍一下自己

  2. 我的简历是写了熟悉go,先考了两个读代码的题目

    // 1. 下面这段代码结果输出是多少
        tt := make([]int,2,6)
        aa := append(tt, 1)
        bb := append(tt, 2)
        fmt.Println(tt) // 0, 0
        fmt.Println(aa) // 0, 0, 1
        fmt.Println(bb) // 0, 0, 2
    
    // 2. 阅读下面代码,输出对应的结果
    func calc(base int) (func(int) int, func(int) int) {
        add := func(i int) int {
            base += i
            return base
        }
        sub := func(i int) int {
            base -= i
            return base
        }
        return add, sub
    }
    
    func main() {
        f1, f2 := calc(10)
        fmt.Println(f1(1), f2(2)) // 11, 9
        fmt.Println(f1(3), f2(4)) // 12, 8
        fmt.Println(f1(5), f2(6)) // 13, 7
        fmt.Println(f1(7), f2(8)) // 14, 6
    }
    
  3. 计算机网络问答:

    1. TCP、UDP的区别?分别适用于什么场景?

    2. 路由器、交换机位于OSI模型哪几层?

    3. 知道的路由交换协议

    4. 输入URL后到浏览器显示指定页面过程中发生了什么

  4. 操作系统问答:

    1. 什么是虚拟内存

    2. 地址转换过程

    3. 地址转换过程中最多需要访问内存、最少访问内存次数?

  5. 算法题 (leetcode原题,螺旋矩阵)

    写一个函数,输入为正整数n, 输出顺时针的螺旋矩阵,边长为n,每次累加1;

    如: n = 3 , 输出为:

    123

    894

    765

  6. 智力题:

    假设现在有1-100号乘客顺序登机,正常情况下1号乘客需要坐1号位置,以此类推,大家顺序入座。

    - 假设现在1号乘客随机选择了一个座位坐下,2-100号乘客优先看自己的座位是否被占,自己座位被占的情况下会从剩下的座位中随机选一个坐下,否则坐自己的座位; 那么这种情况下,100号乘客可以做到100号位置的概率会是多少?

二面

  1. 自我介绍

  2. 问了解channel吗?向一个已经关闭的channel中发送数据会发生什么?

    回答:会panic

    追问:读取数据呢?

    回答:永远不会阻塞,会返回数据零值?

    再问:一定会返回零值吗

  3. 操作系统

    1. 描述一下fork原理

    2. 存储器的虚拟内存,地址转换原理(同一面的问题)

    3. 了解文件系统吗?(不了解)

  4. 数据库

    1. 数据库的数据结构是什么?

    2. B+树的优点?

    3. 为什么不用二叉平衡树?

    4. 查找同一个关键字二叉平衡树和B+树关键字的比较次数谁多谁少?

    5. InnoDB是如何实现范围查询的?如果查询范围的数据位于不同的页面怎么访问?(叶子节点连接成了有序链表,通过链表确定相邻的页面)

    6. 如何构建索引、或者说给你两个字段选择哪个构建索引?(使用查询频繁的字段、易于比较的短字段、尽可能划分数据的字段)

    7. varchar与char的区别?

    8. varchar怎么实现的?

  5. 你是计算机科班的,问你一个常识题?知道那些字符编码方式?

    回答:ASCII、UTF-8

    Unicode字符除了UTF-8编码还有什么编码方式?

    回答:不清楚...

  6. 算法题:

    1. (leetcode 41,缺失的第一个正数;讨论了一会发现自己想的不对,就让他换了一题)

      长度为n的数组,求最小未出现正整数 要求:时间复杂度 O(N) 额外空间复杂度 O(1)

      例子:[-32,4,3,69,3,10,2,1,9,8,6,4,5,10]

      输出 7

    2. 求最大在线人数和对应的时刻。

      输入一天的用户登录登出日志,形如 [t_login, t_logout, user_id] 的日志数据

      超过100万行

      输出 当天最大在线人数和对应的时刻(取第一个)

      400, 3000

      例子:

      1, 1000, 123

      3000, 4000, 456

      2, 40000, 789

      2000, 50000, 123

      ....

      输出

      3, 3000

      时间复杂度要求, O(N)

  7. 最后面试官问我,为什么第一个算法题不继续想了?

    我说思路想不通,不想浪费时间了;可能想下去也没有结果,没时间做下一题了;

三面 ,纯聊天

  1. 自我介绍

  2. 研究生有什么收获?

  3. 学了什么课程?

  4. 介绍一下区块链

  5. 怎么看待比特币

  6. 你来应聘后端开发,说一下你对后端开发的理解,后端是做什么的?

    (这是个送命题)

  7. 算法题:556. 下一个更大元素 III

  8. 自己评价一下你的表现?

  9. 反问环节

三面前准备了好久算法,八股文但是万万没想到三面是在纯聊天!!!

三面总结起来,感觉字节的面试还是重基础、重算法;由于我没什么好项目,所以三面都没有问我的项目

更多模拟面试

全部评论

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

相关热帖

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

近期精华帖

热门推荐