offer审批被刷的可能性_字节跳动面经|IOS开发|大三暑期实习(已收offer)

本人是某985大三学生,没有开发类项目经历,在实验室和导师干过一点科研,大三找暑期实习,4.1号投了字节的后端开发,又被转岗到IOS开发(然而其实从没用过苹果)

准备面试期间受到好多大佬的指点,现收到offer,也写个面经还愿,希望能对大家有所帮助

一面(4.15)

  1. 自我介绍
  2. 项目细节,这个项目中你解决的印象最深刻的问题是什么。
  3. C++的虚函数虚表
  4. 如果很多的客户和服务器连接,会建立几个TCP连接
  5. TCP的慢启动机制
  6. new和malloc的区别,你觉得new会调用malloc吗
  7. 内联函数的机制,有什么优缺点
  8. C++在调用函数时编译器会怎么做?
  9. 内存分页的机制,如果发生了颠簸(有的也叫抖动),会有什么体现
  10. C++内存堆和栈的区别
  11. 算法题:(面试官问我想做个动态规划,贪心还是搜索,我选了动态规划)
    一套卷子,这个卷子有n个多项选择题,每个选择题有A、B、C、D四个选项。
    多项选择题的答案有15种:(A,B,C,D,AB,AC,AD,BC,BD,CD,ABC,ACD,ABD,BCD,ABCD)
    要求: 按顺序做下来,做完每一题的时候,目前正确答案中A出现的次数和C出现的次数差距不超过1,B出现的次数和D出现的次数差距不超过2.
    举个例子:有两个选择题,那么第一题答案为AC,第二题答案为A,这是满足要求的,因为做完第一题的时候A出现了1次C出现了1次,做完第二题的时候A出现了2次,C出现了1次。
    如果第一题答案是AD,第二题答案是A,那么做完第一题的时候A出现了1次,D出现了1次,符合要求。做完第二题的时候A出现了2次,C出现了0次,D出现了1次,A和C差距为2,则不符合要求。
    如果有n个多项选择题,那么一共有多少种试卷答案是符合牛牛的要求的。
    另:我朋友面了字节算法岗,他遇到的算法题是:数组中只出现一次的数字(leetcode136)和买卖股票的最佳时机(Leetcode121,Leetcode188)
  12. 你有什么想问我的

二面(4.21)

  1. 自我介绍
  2. 项目细节
  3. 说一下TCP的拥塞控制机制
  4. TCP的稳定性体现在哪?四次挥手最后为什么要等待2MSL时间才断开?
  5. 说一下C++和python的区别,它们各有什么特点
  6. 说一下C++的内存分区,了解bss段吗
  7. malloc函数调用时要说明分配的内存大小,但是free的时候不需要,这是为什么
  8. vector和list有什么区别?各有什么优缺点?
  9. 用过智能指针吗?
  10. 如果有一个全局变量,有10000个线程,每个线程对这个元素做+1操作,那么结束后这个变量的值一定是10000吗?如果不是举例说明为什么不是?信号量的机制
  11. 问了一个Linux指令,原谅我忘记是什么了,当时说的不了解
  12. char *p="123445"和char p[]="123445"这两条指令有什么区别
  13. extern "c"这条指令的功能是什么
  14. 算法题:一颗二叉树,每条从根节点到叶子节点的路径可以看作一个整数,例如1->2->3就是123,求出所有这种路径对应的整数和
  15. 算法题:最大子序列和(Leetcode53)

三面(4.23)

  1. 自我介绍
  2. 项目细节,着重问了建立中提到的准确率数字是怎么计算的。
  3. 上次面试的第9,13会了没有(二面时没答出来,还好后来查了)
  4. C和C++在编译时的区别
  5. new一个对象和直接声明一个对象有什么区别
  6. C++除了堆栈还有什么内存区域
  7. 对于一个图形用户界面,当你点击一个组件(比如按钮),系统怎么快速找到要调用的程序?(这道题面试官给了提示:一般几个组件类是包含在同一父类里的,所以可以先确定大范围,再逐步缩小范围)
  8. 一个多路搜索树,每个节点有m个子节点,树高度为n,查找的时间复杂度。
  9. 你了解你面试的部门是干啥的吗
  10. 职业规划是啥,毕业了有什么打算
  11. 你不在北京上学,实习能来北京吗
  12. 你有什么问我的吗

4.28接到HR电话,了解基本情况,说offer正在审批。4.29 正式收到offer

一些关于面试的个人建议

  1. 字节的面试好像比较看重算法题,我在第二面的时候面试官问的一些基础知识并没有答出来,但算法题写的还可以。感觉如果在面试中能给出最优时空的算法会很加分。建议面试前把Leetcode top100,剑指offer,以及动态规划的几个常见题型尽量刷一刷,如果没时间写程序可以大致看一下解法,有个印象。
  2. 每次面试后不会的问题一定要查明,例如我三面的面试官就问了二面时不会的题目
  3. 基础知识要尽量做到知其然也知其所以然,比如B+树的叶子节点为什么要串成链表,TCP四次挥手为什么最后要等两个MSL才释放
  4. 如果面试官提出的问题不是很熟悉,可以把自己熟悉的部分先说一下,多多少少可以起到补救的作用
  5. 简历中的项目一定要熟悉,尤其是里面提到的数字(比如准确率达到90%),一定要明确是如何计算的,切忌造假
  6. 切忌说自己精通某种语言(大佬除外),如果你对某种语言有自信,可以在开始的自我介绍时说自己比较熟悉某种语言
  7. 最后面试官问你有什么建议吗,可以问您对我有什么评价吗,如果回答基础还好过的可能性会比较大,如果回答要加强基础,很可能是挂了。

最后祝大家都能收到想要的offer

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值