iOS 腾讯社招iOS面试过程

毕业好几年了,上周发送了简历给腾讯,参加了腾讯面试。具体部门这边就不说了。这次面试还是收获到了很多。

一面电话面试:

面试官主要是针对iOS相关的基础问题。

  1. 先简单自我介绍一下自己

  2. 对mrc和arc的理解 此处详解

  3. 谈谈对自动释放池的理解 此处详解

  4. 自动释放池在mrc和arc区别 此处详解

  5. 多层自动释放池嵌套的对象在哪一层释放 此处详解

  6. 对于block,理解,mrc和arc下有什么区别,使用注意事项 此处详解

  7. 对于深拷贝和浅拷贝的理解 此处详解

  8. 对于strong weak,atomic等等理解

  9. weak原理

  10. 如果属性完全不加修饰词入weak,atomic,系统会怎么处理

  11. 简述下block的实现

  12. 描述下IM系统如何保证消息不丢

  13. IM数据库如何设计表

  14. C++引用和指针有什么区别

  15. Http协议30x的错误是什么

  16. 谈谈你懂runloop得理解:由浅入深

  17. 谈谈对多线程理解:由浅入深

  18. 谈谈category和extension区别,系统如何底层实现category

  19. 谈谈消息转发机制实现

  20. 谈谈事件响应链,如何响应view之外的事件

  21. 界面性能优化

整个面试大约1个半小时。整体上,回答的还算OK,自动释放池这块,不够清楚底层实现。另外atomic是在属性没有写的情况下系统默认的。Block的底层实现也表达的不够准确。

一面之后过了几天,给了二面通知。

二面视频面试:

这次面试官相对于一面,更加侧重于过往项目。

1.开头都是简短的自我介绍 2.聊一聊过往项目中你觉得收获最大的一个模块。

突然遇到这个问题,心理是有点懵逼的呀,我不禁反想了一下,过去这些个项目,零零散散收获了不少知识和经验,可是具体到哪一个模块,完整的思考还是没有过的。

答: 就说了上个项目做类似朋友圈的优化思路,谈到了空间换时间,缓存,渲染相关的技术点。

不得不惊叹腾讯的面试官的逻辑条理,很快抓住了问题的本质。

需求痛点:界面卡顿,体验不好 解决方案:探索的思路-》解决方案。

该模块引申到的新话题还涉及到了增量更新,内存缓存,本地缓存。

细节上还谈到了富文本绘制,Coretext框架的使用,哎,说来惭愧,上次使用coretext已经是两年前,连框架的核心API都已经不记得了。再加上项目中使用的是YYLabel的开源框架。最后只能凭借印象大概说了下绘制的流程,其实面试官都是由浅入深的,如果这边回答的不够深入。那么后面也就不会有更深入的探讨了。

3.上个项目中存在视频裁剪,录制等功能。 面试官对这块有些兴趣,就聊到了视频裁剪的实现,因为我们项目中使用了ffmpeg做的裁剪功能。包括视频下载,数据裁剪封装,引申聊到了边预览边裁剪,因为我之前的项目并没有做到预览裁剪这块。也就没有深入聊下去了。期间简单谈到了rstp协议,和HLS,rtmp等协议的对比,信令协议。虽然之前都有看过协议的大致实现和预览,但是实际使用的是SDK,没有实践加持。这部分知识是很容易忘记的。大致聊了下总体差别。

4.项目中有用到过DLNA投屏协议 说来又是惭愧,自己完整做过的项目,过去了两年,居然连流程,协议都只是零零散散的记起来了,很勉强的说出了大概实现流程。知道最后才记起来是soap协议。当初为了做这个可是研究了整整两周的。面试官应该也实现过这个需求,提到了视频盒子断线如何检测做处理,什么原因导致的。由于之前我们的产品需求比较简单,没有特别完善。这里我也只能说了大概。

5.项目做过视频播放需求,使用的AVPlayer框架(重点聊) 面试官问到,AVPlayer怎么监听视频缓冲状态的,有哪几种状态。说来又是惭愧,我只记得是KVO监听的。具体的API已经记不清了。 接着面试官问到这个需求遇到过哪些坑,怎么解决的。 这个还真的有,首先是回调播放进度在拖动时候错乱,加载某些小视频的适配,首帧出图很慢。KVO的模式不灵活。缓冲进度不受我们控制。短视频可能直接迅速缓冲到底。 还是之前的思路 需求痛点有了 解决方案:探索的思路-》解决方案。 不得不说之前做的产品,都是需求驱动,解决了需求,很多时候就没有极客精神,在深入的去探讨。这块真的是差!

发散问到了:如果网络不好,首帧出图之后,如何优化后续播放不卡顿 当时已经一脸懵逼了:就提到了可以适当加大缓冲区,等到足够的I帧数据再开始播放。

甚至连常规的码率切换思路都没想到。作为做音视频相关产品的我太不应该了。

6.项目聊完了之后,又追问了iOS的一些基础问题,属性和成员变量区别,strong,atomic关键字,怎么理解runloop,runloop有几种状态等等。

7.最后给出了一个非常有意思的算法题

有15个瓶子,其中最多有一瓶有毒,现在有四只老鼠,喝了有毒的水之后,第二天就会死。如何在第二天就可以判断出哪个瓶子有毒 答:开始我想到的是常规思路二分法,717,和面试官说了,发现四只老鼠根本不够,面试官友好的提示从老鼠面去想,这时候很快想到了一个老鼠有死和不死,也就0和1两个状态,四只老鼠有16个组合,正好是足够的。但是怎么分配瓶子,还没想好,演算了一会儿,因为面试官这边时间有限,就说思路是正确的。下面有兴趣在看怎么分哈。面试就到此结束了。

二面持续了大约一个小时多一点。 二面自己感觉了很多欠缺,不够深入。

面试总结

腾讯的面试官都非常的友好,逻辑性非常强。综合素质很高。面试过程中虽然针对的都是技术问题,但是考察的包含了逻辑思维和产品思维以及沟通能力等综合素质。特别是二面。

认识到了自己的不足:

1.不够极客精神:还是需求驱动,之前的项目很多设计优化因为对产品的需求没有那么高精度,遇到痛点的时候:仅仅做了初步的探讨,没有形成完整的闭环

往往是做了一定的优化满足了需求就结束整个过程了。这对于自我的成长是很不好的。比如一个API了解到百分之70,没有到100.

2. 已有项目知识面深度不够:项目中使用到了某些API,第一反应是先去看Demo,完成需求,事实上例如仅仅是一个简单视频播放,可能调用API很简单就可以做到,但是中间包含的却很多,从网络协议,到视频解封装,编解码,渲染。音频编解码播放。

虽然每个环节都有去学习,也都知道流程,但是这是不够。要深入进去。即使自己的项目没有这块实践需求。也要自我驱动去做。

3.自我总结欠缺:以前都是浑浑噩噩的快乐开发,也自学了不少。每个项目,或者每个自我学习的过程走一段,都应该站在更高点去总结一下。

例如项目,要站在产品角度,自我学习,要站在整体框架角度。否则学习到的东西一段时间不用就忘记了。高度也不够。没有完全消化透。感觉什么都懂一些,但是什么都差一点火候

👏👏👏欢迎大家加入群组(IT_大前端技术交流群),技术交流群
IT_大前端技术交流群
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,378评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,356评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,702评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,259评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,263评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,036评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,349评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,979评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,469评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,938评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,059评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,703评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,257评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,262评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,501评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,792评论 2 345

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,509评论 25 707
  • 毕业好几年了,上周发送了简历给腾讯,参加了腾讯面试。具体部门这边就不说了。这次面试还是收获到了很多。 一面电话面试...
    安东_Ace阅读 6,607评论 8 44
  • 本文来源:https://juejin.im/post/5b3c40f4e51d45191a0d0aae 一面电话...
    欢博阅读 330评论 0 1
  • 平常有固定喂养浪猫的网友都知道,时间久了,猫咪会到定点等放饭。 网上流传一段猫咪讨吃饭的影片,它们会集体到家门前堵...
    MING2阅读 215评论 0 1
  • 不知道世上的父母有没有从来不闹矛盾的,总之我是很羡慕那样的家庭… 虽然我的家庭生活不至于很苦难,但我大部分的苦恼都...
    流火狮阅读 251评论 0 0