字节抖音iOS实习岗一面、二面面经

本人情况:本硕双211,实验室搞过一点iOS项目,然后抽时间复习了一学期计算机网络,设计模式,和iOS的基础知识,数据库和操作系统还没来得及看。
途径:拉钩,boss,牛客,找HR内推。
面试岗位:抖音商业化iOS实习岗位。
时间:12.7简历通过后很快约面了,三轮面试一个星期搞完。
结果:勉强过了三面,寒假可能要去实习两个月。

牛客上大佬的面经对我的面试还是挺有帮助的,感谢各位大佬的帮忙,既然这样我也把我的经验分享出来,希望对后面的人有帮助。
以下问题是分类整理后的问题,并不是面试时候的顺序,记得的都写在下面了。
先把一面、二面的问题整理一下, 如果有人感兴趣再发三面吧。

计算机网络

1.HTTP知道吗?
2.URL地址每个部分代表的含义?
3.在iOS中,发起一个HTTP请求,它的原理是什么?底层是怎么实现的?(说不上来,只会用)
4.HTTPS讲一下,和HTTP的区别?
5.TCP和UDP的区别?
6.有没有实际用过TCP和UDP(没有)
7.cookie和session分别是什么,有什么区别?(记不太清了,根据印象扯了一点,没追问)

操作系统

知道虚拟内存吗?(不知道...然后没继续问了)

数据库

知道事务中acid分别是什么含义吗?(不知道...也没问了)

iOS基础

1.两个线程对一个int a = 1 的变量同时进行 a++ 操作一万次,那么最后a的值是多少呢?(我回答的是0-20000,具体正不正确面试官没给我回应)
2.iOS中最多开启多少个线程?能不能无限开启?(。。。不清楚)
3.堆和栈的区别?
4.栈不够用会怎么样?该怎么处理呢?
5.什么情况下使用@autorelease?
6.App从编译变成可执行文件,中间都做了些什么?(中间可以讲的很多,这一题答得不好,大家自己去深挖掘)
7.编译中的链接是用来干嘛的?
8.静态库和动态库的区别?各有什么优缺点?
9.类是如何添加到可执行文件中的?(没答上来)

设计模式

1.单例模式(手写一个单例模式)
2.手写单例模式的时候,有个地方写错了,一个id类型的变量的前面,我加了*,然后问我id类型是一个什么样的类型,前面需要加*吗,然后在他的提示下改正了?
3.代理模式(讲了delegate)
4.通知者模式(讲了KVO和NSNotification)

场景题

1.我们常用的复制粘贴(就是电脑上的复制粘贴功能,不是iOS开发中的copy概念),你觉得使用了什么样的原理?(不是很清楚,我说我猜测是使用了一片共享的内存)
2.如果一个大的容器VC(面试官举例,比如今日头条的首页),里面又很多子页面VC(比如体育模块,新闻模块,等等),当你点击某个标题,系统通过什么样的一个方式,让父容器去通知子容器开始/结束它的声明周期方法呢?(这个题我没什么头绪,一开始说不知道,然后面试官让我猜测一下,随便说说,由于他提到了“通知“这个词,我就说点击了标题后用NSNotification去通知,然后面试官勉强点头,说这是一种解决办法,然后没有追问了。)

其他

1.遇到过最困难的事情?
2.最有技术含量,最自豪的事情?

算法

一面算法题:两个链表求和。比如 1→0→0 + 1→0 ,那么求和的结果是1→1→0。(我说先把链表反转,加了之后再反转,代码写得有感觉点问题,由于只是现场调试,没有通过率,所以面试官也没细看,估计就是看看你的编程能力。)
二面算法题:求K数,K数的定义:一个数组中,如果它前面所有的数字都比它小,后面的数字都比它大,那么他就是K数。比如:【1,3,2,4,8,7,6,9】中,满足K数定义的有【1,4,9】。(我提出的方法是,用一个数组dp1[]去记录每个数字前面的最大值,用一个数组dp2[]去记录每个数字后面的的最小值,如果这个数比对应的dp1大,dp2小,那么他就是K数)

总结:

1.问得比较全面,没问我操作系统和数组库问题的情况下,依然问了2个小时,总共也有20多题吧。
2.问问题不只停留于表面,很多问题你答上来会继续追问你更深的东西,前两面不至于太较真,你答不上来就不问了。(三面就是疯狂加较真,你答不上来会换个角度问你,一定要你把你对这个东西的看法讲的明明白白,就很难受)
3.我遇到的面试官虽然比较面瘫,全程不笑也很少给你反馈,但很有礼貌也比较有耐心,没有表现出不耐烦,偶尔会提示你。
4.不是很熟的领域,就不要硬说自己会,三面的时候我说我搞过一点React前端开发,面试官直接问我React用了什么原理,当场尬住。
5.牛客上的面经还挺有用的,遇到了原题。
#实习##字节跳动##iOS工程师##面经#
全部评论
老哥再发一发三面呀,同这个岗位
1 回复 分享
发布于 2020-12-18 22:33
这也能过吗
点赞 回复 分享
发布于 2020-12-15 12:27
恭喜恭喜~
点赞 回复 分享
发布于 2020-12-14 22:22

相关推荐

群星之怒:1.照片可以换更好一点的,可以适量P图,带一些发型,遮住额头,最好穿的正式一点,可以适当P图。2.内容太少。建议添加的:求职意向(随着投递岗位动态更改);项目经历(内容太少了建议添加一些说明,技术栈:用到了什么技术,还有你是怎么实现的,比如如何确保数据传输稳定的,角色注册用到了什么技术等等。)项目经历是大头,没有实习是硬伤,如果项目经理不突出的话基本很难过简历筛。3.有些内容不必要,比如自我评价,校内实践。如果实践和工作无关千万别写,不如多丰富丰富项目。4.排版建议:建议排版是先基础信息,然后教育背景(要突出和工作相关的课程),然后专业技能(一定要简短,不要长篇大论,写你会什么,会的程度就可以),然后是项目经历(一定要详细,占整个简历一定要超过一半,甚至超过百分之70都可以)。最后如果有一部分空白的话可以填补上校内获得的专业相关的奖项,没有就写点校园经历和自我评价。5.技术一定要够硬,禁得住拷打。还有作息尽量保证正常,不要太焦虑。我24双非本科还是非科班,秋招春招各找了一段实习结果都没有转正,当时都想噶了,最后6月份在校的尾巴也找到一份工作干到现在,找工作有时很看运气的不要急着自我否定。 加油
点赞 评论 收藏
分享
评论
4
38
分享

创作者周榜

更多
牛客网
牛客企业服务