字节客户端(iOS)凉经

一面视频面(3月3日50min)

面试官人很好,全程有在把握面试时间,然后遇到不会的问题不会有鄙夷或者别的情绪,实在不会的主动提出跳过.
面试体验除了本人略菜以外还算蛮好.

项目相关

1、实习期间做的项目和需求
2、项目中最难的点(那个项目总体来说比较简单,加上代码带不出公司离职后无法review大部分都忘了,所以这里其实没啥好说的)
3、做过什么比较难的需求?

计算机网络

1、流量控制(滑动窗口)
2、拥塞控制,为什么要将cwnd大小设为原来的一半?
3、四次挥手,为什么要有TIME_WAIT状态?为什么要等待2MLS?
4、如何实现断点续传?(只是粗浅地了解了一下,没接触过,只能说是记录断点)

操作系统

1、进程和线程的区别?
2、进程和线程切换哪个带来的资源损耗大?(因为问题1忘了答这个点)
3、线程切换为什么消耗比较小?(只用修改寄存器即可)
4、追问了进程和线程各自分配了什么资源?

iOS相关

这里可以说一塌糊涂,基本没几个记得起来的...面完人都傻了(主要是离开项目一线太久,也没想到面试会面到iOS,主要在复习C++)
1、runloop了解过吗?
2、点击事件是怎么被触发的?(runloop的事件监听那套,没系统复习所以没答上来)
3、隐式动画了解过吗?
4、CALayer和UIView有啥区别?
5、离屏渲染了解过吗?
6、假设渲染是有一块公共的缓冲区,离屏渲染会引发什么操作才叫离屏呢?
7、Mansory的原理是啥?
8、block捕获int类型和NSObject类型有什么区别?

算法

两个排序好的数组,怎么知道这两个数组的中位数?(二路归并即可,但是当时脑子抽了想优化空间复杂度用了双指针,最后出了点小bug,不过面试官让我口述过了)

最后还是过了,但是感觉很多地方可以再学习...接下来就是好好准备二面吧,希望能在春招收获满意的offer.

二面视频面(3月8日,60min)

面试官给人感觉很好,谈笑风生,然后在谈笑风生中挂了。。。面试官说我答案像背的,我:。。。。

大体问得都很基础,和一面十分类似,因此只列举几个印象比较深的题。

1、智能指针了解吗?写一个智能指针的循环引用代码
2、哈希冲突了解吗?拉链法如果想拿到链表上的指定数据应该怎么解决?(这里我提了对链表使用一个哈希算法的方案,不清楚是否有别的)
3、C++对象的内存分布是怎样的?
4、new一个对象都发生了什么?
5、算法问了迭代中序遍历树(很简单的题,太久没打了没debug出来,也可能是挂的原因之一。。。思路是用栈遍历到最左的叶子节点,再向右遍历)

#iOS面经##面经##校招##字节跳动##iOS工程师#
全部评论
好难啊🤣
1 回复 分享
发布于 2021-03-05 00:19
啊这,那我不背的话是出生就会八股吗…… 这话也亏他说得出口
点赞 回复 分享
发布于 2021-03-10 15:18
蛮可惜的,自我感觉二面的时候大部分问题都答得有板有眼的,结果挂了。。。
点赞 回复 分享
发布于 2021-03-09 16:58
请问一面完了多久收到二面通知的呢
点赞 回复 分享
发布于 2021-03-08 22:11
楼主 你校招没有参加笔试 直接面的吗
点赞 回复 分享
发布于 2021-03-08 00:40
是实习的面试吗
点赞 回复 分享
发布于 2021-03-06 13:22
投完简历,几天安排面试的啊
点赞 回复 分享
发布于 2021-03-05 16:19

相关推荐

点赞 评论 收藏
分享
2025-12-24 15:25
已编辑
门头沟学院 前端工程师
是腾讯的csig腾讯云,前天晚上九点突然打电话约面,激动的通宵学了一晚上,第二天状态很差改了今天(以后再也不通宵学习了)感觉自己浪费了面试官一个半小时单纯手写+场景,无八股无项目无算法,打击真的很大,全是在面试官提醒的情况下完成的,自己技术方面真的还是有待提高,实力匹配不上大厂和已经面试的两个公司完全不一样,很注重编码能力和解决问题的能力,然而我这两个方面都很薄弱,面试官人很好很耐心的等我写完题目,遇到瓶颈也会提醒我,写不出题也会很耐心的跟我讲解好感动,到最后面试结束还安慰我打算把下周最后一场面试面完之后就不面啦,如果能去实习还是很开心,但是最重要的还是好好努力提高技术以下是面经第一题// 实现一个解析 url 参数的函数function parseUrl(urlStr) {// TODO}parseUrl('*********************************************');// 返回 {a: 1, b: 2, c: 3}追问:在链接里见过什么部分?用 hash 路由的话放在哪第二题// 考虑有一个异步任务要执行,返回 Promise,这个任务可能会失败,请实现 retry 方法,返回新方法,可以在失败后自动重试指定的次数。/*** 异步任务重试* @param task 要执行的异步任务* @param times 需要重试的次数,默认为 3 次*/function retry(task, times = 3) {// TODO: 请实现}// ---------------测试示例 ----------------// 原方法const request = async (data) => {// 模拟失败if (Math.random() < 0.7) {throw new Error('request failed');}const res = await fetch('https://jsonplaceholder.typicode.com/posts', {method: 'POST',body: JSON.stringify(data),});return res.json();}// 新的方法const requestWithRetry = retry(request);// 使用async function run() {const res = await requestWithRetry({ body: 'content' });console.log(res);}run();第三题就是给 retry 函数添加类型注释,用到泛型第四题:在组件库中将 Alert 用 api 的形式实现(应该就是 message 这个组件)怎么渲染到一个浮层里而不是原地渲染出来
不知道怎么取名字_:技术这个东西,太杂了,而且要下功夫的
查看5道真题和解析
点赞 评论 收藏
分享
评论
5
34
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务