毕业好几年了,上周发送了简历给腾讯,参加了腾讯面试。具体部门这边就不说了。这次面试还是收获到了很多。
一面电话面试:
面试官主要是针对iOS相关的基础问题。
先简单自我介绍一下自己
对mrc和arc的理解
谈谈对自动释放池的理解
自动释放池在mrc和arc区别
多层自动释放池嵌套的对象在哪一层释放
对于block,理解,mrc和arc下有什么区别,使用注意事项
对于深拷贝和浅拷贝的理解
对于strong weak,atomic等等理解
weak原理
如果属性完全不加修饰词入weak,atomic,系统会怎么处理
简述下block的实现
描述下IM系统如何保证消息不丢
IM数据库如何设计表
C++引用和指针有什么区别
Http协议30x的错误是什么
谈谈你懂runloop得理解:由浅入深
谈谈对多线程理解:由浅入深
谈谈category和extension区别,系统如何底层实现category
谈谈消息转发机制实现
谈谈事件响应链,如何响应view之外的事件
界面性能优化
整个面试大约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.

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

虽然每个环节都有去学习,也都知道流程,但是这是不够。要深入进去。即使自己的项目没有这块实践需求。也要自我驱动去做。
3.自我总结欠缺:以前都是浑浑噩噩的快乐开发,也自学了不少。每个项目,或者每个自我学习的过程走一段,都应该站在更高点去总结一下。
例如项目,要站在产品角度,自我学习,要站在整体框架角度。否则学习到的东西一段时间不用就忘记了。高度也不够。没有完全消化透。感觉什么都懂一些,但是什么都差一点火候
怎么改善提高
多写Blog分享,东西会做,和能写出来是两个层面。即使网上已经有很多实现了。消化好之后,用自己的思路表达出来,也有很大提高
遇到问题,无论是项目还是自己实践,都要多问几个为什么,不能浅尝辄止,站在产品角度。从原理层面理解问题,最重要是给出解决问题方案。demo不等于工程。
阶段性总结知识点。古语: 学而时习之。
反思了很多:也清楚认识到自己的一些优点,有技术热情,爱好学习。很好的逻辑思维。沟通能力。相信只要坚持努力。一定能获得好的结果。也给自己打打气。共勉之。
本文为第三方转载。
原文链接:https://mp.weixin.qq.com/s/rj3G4vaaRTfMl_Uzo_jOzw

腾讯社招iOS面试记录相关推荐

  1. ios kvo 要引入_腾讯社招iOS面试记录

    毕业好几年了,上周发送了简历给腾讯,参加了腾讯面试.具体部门这边就不说了.这次面试还是收获到了很多. 一面电话面试: 面试官主要是针对iOS相关的基础问题. 先简单自我介绍一下自己 对mrc和arc的 ...

  2. 腾讯offer是什么样子_记一次腾讯社招前端面试(已拿到offer入职)

    笔者信息 我某211非计算机相关专业2018届本科生,在校期间实习有半年多的小公司Java开发实习经历,毕业之后投递360,入职了360企业安全成为专门的前端开发工程师,有幸进入一个很赞的团队,遇到很 ...

  3. 记一次腾讯社招前端面试(已拿到offer入职)

    作者:小冷^_^ 链接:https://juejin.im/post/5dde65496fb9a07161483fc9 笔者信息 我某211非计算机相关专业2018届本科生,在校期间实习有半年多的小公 ...

  4. 诺基亚社招C++面试记录

    我在写这篇博客的时候,心情特别复杂,对于诺基亚的面试,并没有投简历,是简历挂在猎聘网上,猎头找到我问我考虑杭州的机会吗?仔细询问才知道是诺基亚,在和猎头聊天的时候问我对诺基亚了解么?我心中对诺基亚的认 ...

  5. 腾讯社招面试复习系列之一,C++篇

    腾讯社招面试复习系列之一,C++语言篇 最近在准备复习面试腾讯游戏开发,接下来会出一系列复习文章,总结一些他人的面试题与经验,以及之前自己面试时经验,并给出一些自己的见解,供大家一起学习. C++语言 ...

  6. 记工作一年后腾讯社招面试经历

    腾讯社招面试经历 电话面试 在某招聘APP投了腾讯一个C++后台开发岗位后,收到电面邀请,时间是晚上7点半.当时还没下班,提前跑到办公楼外面接电话.主要问了一些语言.数据结构方面的基础知识,聊了将近5 ...

  7. 腾讯社招 —— 腾讯游戏后端工程师(一面)

    腾讯社招一面 事情已经过去差不多3星期了,还是鼓起勇气来记录一下腾讯社招的两个部门的面试,被问的怀疑人生.觉得自己毕业一年了,什么都没学会. 这是继上次电话面试之后,第二天中午,让我晚上到科兴科学园面 ...

  8. 【爬虫】Scrapy爬取腾讯社招信息

    目标任务:爬取腾讯社招信息,需要爬取的内容为:职位名称,职位的详情链接,职位类别,招聘人数,工作地点,发布时间. 一.预备基础 1.Scrapy简介 Scrapy是用纯Python实现一个为了爬取网站 ...

  9. 网络爬虫--17.【BeautifuSoup4实战】爬取腾讯社招

    文章目录 一.要求 二.代码示例 一.要求 以腾讯社招页面来做演示:http://hr.tencent.com/position.php?&start=10#a 使用BeautifuSoup4 ...

最新文章

  1. 常用快捷键整理,提升工作效率!
  2. System.Threading.Interlocked.Exchange(ref m_Value, value);
  3. Spring Cloud——Eureka——架构体系
  4. 信息学奥赛一本通(1400:统计单词数)
  5. DDD(领域驱动设计)系列之二-应用架构
  6. iOS开发遇到的坑之五--解决工程已存在plist表,数据却不能存入的问题
  7. gpu跑普通python程序_普通电脑PC怎样跑TensorFlow的GPU模式
  8. IF YOU HAVE A NEW LICENSE, PLEASE UPDATE IT
  9. 【java】 drool规则引擎背后的Rete算法
  10. IntelliJ IDEA常用插件及其安装
  11. Java实现建行聚合支付对接及其回调
  12. C++实验02(02)华氏温度转换为摄氏温度
  13. 一文带你认清云服务器和轻量应用服务器的区别
  14. python布尔值使用_如何在Python中使用布尔值?
  15. 如何测试app启动时间?
  16. 【神经网络与深度学习】CIFAR10数据集介绍,并使用卷积神经网络训练图像分类模型——[附完整训练代码]
  17. Python pandas 染色体 SNP 位点提取 并排序
  18. 国内外云服务现状及发展探讨
  19. 「凹凸数据」历史文章合集,更新中
  20. * web H5 网页 浏览器 蓝牙 Bluetooth

热门文章

  1. CSS颜色混合模式特效
  2. 教室计算机文件共享方法,教程方法;34、共享文件--电脑基础知识电脑技巧-琪琪词资源网...
  3. 战地4网页怎么换服务器地址,战地4设置服务器地址
  4. “东数西算”背后隐秘的玩家们
  5. wav avi计算机存储音频,把AVI和WAV文件合二为一
  6. linux avi 转mp4,怎么把视频avi格式怎么转换成mp4格式
  7. java日志管理(slf4j+logback,tomcat)
  8. vue项目中elementUI的日期时间选择器的默认修改以及能选择当天的未来时间24点
  9. 【报告】德勤管理咨询2019年境内外TMT标杆企业高管薪酬与激励调研报告
  10. 前端开发问题——css设置背景样式效果无法显现