首页 > 笔经面经 > 抖音iOS 暑期实习 过经

抖音iOS 暑期实习 过经

头像
Fang201909270552861
编辑于 2020-02-19 10:33:22 APP内打开
赞 6 | 收藏 40 | 回复5 | 浏览2311
我是明年5月毕业,今年暑期实习找的很不顺利。 亚麻操作失误,一开始投错了,后来还withdraw导致OA都没拿到,后面coinbase HR面面挂了。大约1月初投的字节跳动,一月底给我来了电话(当时直接打的我美国电话震惊了),加了微信预约了2月14的电话面试(用的牛客)。
我leetcode大约刷了180左右,拿到电面后赶紧花了四五天在牛客上刷了一遍剑指offer,现在回头看感觉非常有用。

当天三轮面试,看起来面试官等级一轮比一轮高。

第一轮:
聊简历,问了问做了哪些项目,学了哪些技术,之前的实习干嘛了。聊简历的时候我让面试官打开了我之前实习公司的网页,我跟他具体说了说负责了哪一块。
简历聊了大约15分钟,开始技术提问。
1.我刚才打开你给的那个网站比较慢,分析一下原因。 (DNS,CDN,雅虎军规)
2.刚才那个网页是HTTP的,现在都是HTTPS的,说一下这两者区别是什么,怎么实现的(SSL+TLS,transport layer和application layer,证书公私钥,RSA传递秘钥,对称加密和非对称加密)
3.TLP和UDP区别,协议上有什么区别?服务器上处理有什么区别(面向连接,congestion control 及其实现,TCP 服务器fork出一个进程而UDP不需要)(这里他重点提问了如何流量控制,如果计算机网络没太有了解的话其实挺难回答的,我恰好上学期选了计算机网络,印象比较深刻)
4.如果你要写一个ios的推送,用TCP还是UDP(肯定TCP啊)(但是其实qq微信这种消息都是UDP发,要不然服务器负载太重,一般是用UDP配合TCP来发消息)
算法题:
部分有序的数组找k的位置。
4567123,找2返回5。
剑指offer上有类似的,是找转折点。 所以一开始我就说logn二分找到转折点1,判断2在左边还是右边段,然后再次二分查找。这样复杂度还是logn。他说不行需要一次找到。
后来想了想一次也可以找到,通过比较left mid 和k的关系就可以二分移动坐标。
写了一下,写了几个测试结果发现有点小bug,找了5min找到了,一开始他也没看出来,后来找到了他意思无伤大雅。 然后就问他一个问题。

半小时后第二轮
他上来先自我介绍,说是负责抖音iOS的。然后聊简历,聊了之前一轮面试官没有聊的点。(这点感觉挺好的,他说两者之间都会交接,比如上轮重点问了网络,这轮就不会问了),接着技术提问。
1. 我简历里有个安卓,他首先问了下中间肯定用到了ListView,问一下这个怎么用。(Adapter)
2. 为什么要用Adapter (我先回答buffer,然后他问还有么,我想了想说感觉用Adapter更oop一些,问他是不是想听到这个答案,他说是...)
3. 有没有用到Java多线程,线程安全的问题,我说没有用到过,他说没关系
4. 问了下Java单例模式怎么写,我安卓项目里刚好有个单例我问他能不能上github复制一下,他说可以... 然后我就复制下来了,他根据这个代码问了些问题。静态方法啊,私有化构造方法啊,为什么这里要这么写,基本都答出来了。然后问了下学过软件工程没,还知道哪些设计模式。我说没学过,其他的只知道工厂模式。。没细问
5. 操作系统中的锁有哪些? 我只知道mutex和semaphore, 就只说了这两个,讲了下怎么用的,有啥区别,后来问还有哪些锁我就不知道了
6. 问了死锁发生的条件。 我就背了两条我记得是4条的,背不过了直接跟他说,他说没事。
7. 哈希表实现,怎么解决哈希冲突,拉链,试探指针啥的。
8. LRU是什么,怎么实现
算法题就是实现一个LRU
这个我之前leetcode写过然后就比较熟,差不多10min就不卡顿的写出来了。(自己撸了一个双向链表后来结束了感觉其实直接import deque就可以,有popleft和pop,可能当时leetcode刷的时候没有用deque,这里就忘了吧。但是感觉自己撸一个双向链表比较体现代码难度,可能效果也挺好)
写了几个testcase有点小bug,他说不用找了,算法没啥问题就可以了。然后最后一个问题。

半小时后第三轮,当时晚上都快11点了,精神恍惚。。。
这轮,面试官感觉是个level比较高的程序员,上来聊了很多未来规划啊,发展的东西,比如用了哪些头条产品,能提出什么建议。平时遇到哪些问题,怎么解决的。团队协作的项目有哪些,如何协作的,如果反思这段经历,哪些能提高。还有类似远程办公怎么提高效率。我比较擅长回答这种问题,和这个面试官聊得非常非常开心,直接聊了快40min,剩下20min算法题。
实现一个大数加法,36进制的。
这个题难度比前两个都要小,前两个一个lc median 一个lc hard,第三轮这个感觉特别easy了。结果写的时候实在是太累了,出现了很多不该有的失误,写的乱七八糟的,我连声道歉,跟他说如果重新来的话怎么写。(搞俩函数处理36进制和十进制互相转换,写起来会漂亮很多)
他听笑了说没事这只是很小一部分,还是看综合考量。然后最后一个问题。

结束后有点沮丧因为最后一个题最简单结果还没答好,结果国内周五结束面试,周日就收到HR微信说可以约HR面了,然后立即预约了2月17的HR面试。
这轮就不说,最后问了下技术面的反馈说技术面通过,HR轮结束后等审批最快3个工作日就可以收到offer了。

整体总结来说比较满意,头条效率非常高。面试质量也很高,不会刻意刁难你,如果你不知道这个方面老老实实说不知道就可以。然后剑指offer国内面试非常有用,不用看那本书,全是废话,把上面题都做了就可以。
目前美国大厂暑期实习都不招了的情况下,感觉能去tiktok实习也不错,可能比美国小公司的名气还要大些。

(直接复制粘贴的一亩三分地的帖子,勿怪)

5条回帖

回帖
加载中...
话题 回帖

推荐话题

相关热帖

笔经面经近期热帖

近期精华帖

热门推荐