关于我:
Hello,大家好,我是西瓜视频一枚iOS开发工程师。去年秋招有投递过30多家企业,最终也是面试近20家,成功拿下8个Offer。最终经过筛选,我选择了非常nice的西瓜视频团队。近期我将发布“iOS秋招面经系列”文章,将我在面试中遇到的问题分享给大家。
希望大家在阅读完一系列文章以后,可以顺利的拿到offer。
当然,如果你也想来西瓜视频团队,欢迎在文章下方的链接/二维码/邮箱/牛客私信投递简历。
欢迎长期关注本系列文章,我也会在工作空余补充每篇面经的参考答案。
网易iOS三面面经
一面
- @property 是什么,有哪些关键词
- 说一说weak和assign的区别
- block中变量的使用是什么原理,基本数据类型、引用数据类型、加__block的区别。
- 常见的循环引用有哪些
- block循环引用中,如果对象对block使用weak,那么还会产生循环引用嘛(引出block的copy和strong, block的三种类型)
- NSTimer的循环引用解决
- UIView和CALayer的区别
- frame和bounds的区别,为什么有了frame还要bounds
- 改变一个view的大小是改变的frame还是bounds
- 说一下UIScrollView的contentoffset contentinset和contentsize的区别
- 如果让你自己手动实现一个UIScrollView,你会怎么做 (引出contentoffset和bounds的关系)
- UIScrollView在使用Mansory时如何做到只往一个方向滑动
- UITableViewCell复用的原理
- 如何优化tableview卡顿
- 减少透明view为什么会提高性能
- 说一下KVO和KVC,同时说一下它们什么时候会崩溃
- KVO的实现原理
- OC中如果不继承自NSObject会出现什么问题
- NSObject常见的方法有哪些
- 介绍NSOperation和GCD
- 说说串行并发队列和同步异步的区别
- mainQueue和mainThread的区别,mainQueue只能在主线程调用吗?
- globalQueue是什么
- 层序遍历二叉树
- 之字型遍历二叉树
- GET和POST区别
- 引出POST中form提交和json提交的区别
- 200 300 400 500系列的状态码
- merge和rebase的区别
- 比如项目有一个LiveVC,A继承自LiveVC。目前从rootVC push进来A,然后A页面点了广告进入B,又各种情况从B进入C,C进入D,最后从D点进了A'。因为中间过程进入的页面都是无用的,所以我想在A' 页面返回的时候,直接回到A的上一个页面。 BCD都是不同类型的VC,全程在nav情况下push pop。例如你在西瓜视频首页看到了好看的视频,进入详情页观看,此时你发现视频下方有更吸引你的内容,就点进去继续观看,依次类推,你一层一层的点下去。此时你需要点击返回按钮,如何做到直接返回首页,而不是返回上一个视频。
- 封装一个搜索VC,保证它好用,保证可移植性,健壮性等
总监面
- 说一下下载器中的断点下载和大文件下载 (这是我自己在实习中做的功能)
- 检查两个无环链表是否有交点
- 检查两个有环的链表是否有交点
全部评论
(0) 回帖