腾讯电面:40分钟
介绍你最近的一个项目
项目相关问题
既然你iOS安卓都写过为什么选择iOS
字典的数据结构,如何加快查找
http和tcp的区别
java和oc的区别
c和oc的区别
UIView的生命周期
为什么需要多线程?
谈谈你对runtime的理解
还有什么想问的吗
头条视频面:70分钟
自我介绍
项目相关
怎么自定义导航跳转
谈谈runtime的理解
KVC的用途
使用method swizzling要注意什么?(进行版本迭代的时候需要进行一些检验,防止系统库的函数发生了变化)
谈谈对引用计数的理解
谈谈runloop的理解
runloop有哪些状态
autoreleasepool的使用场景
TableView优化,怎么减少卡顿
深浅拷贝
copy assign retain weak关键词
JSON转Model
代码布局
多屏幕适配
HTTP2
HTTP请求头和响应头
Cookie
NSCache
自己设计一个缓存器
怎么实现LRU
SDWebImage
二叉树先序遍历(递归和非递归)
阿里一面 90分钟
项目聊了40分钟
面试官竟然把我的github上的项目下下来对着里面的源码问我为什么这么写
Masory的内部实现 那个with有用吗
sdwebimage在tableview中重用的问题
Autolayout 一个scrollview 一个图片 一个label怎么布局
mlmodel自己做怎么做
AR SLAM的一些算法
你觉得你的毕设设想能做好吗
iBeacon的一些定位算法
代码风格问题
什么时候能来实习
你未来的规划
阿里二面 30分钟
第一天晚上十一点才面完 第二天早上十一点接到二面电话
介绍项目
项目中的具体
机器学习的模型是怎么用的
ARKit相关
用过哪些三方库
用过runloop吗
为啥要runloop
runloop和线程的关系
MVC和MVVM
三种硬币合成1块钱
还有什么想问的吗
未来安排是什么
通过的话什么时候能来实习
阿里三面 20分钟
自我介绍
介绍项目
你为什么写这个项目
你除了这些项目还有其他的吗
识别你不用ARKit怎么做
你有自己做过机器学习模型吗
为啥用iBeacon不用wifi定位
ip和Int互转
你最近有了解什么新兴的技术吗
还有什么要问的吗
基本全程和项目相关,好像是交叉面的样子,所以也就随便聊了一聊(时间这么短不会有问题吗 连iOS的一些基本知识都没有问的样子)
网易8.20现场面
从早上9点多道晚上7点多才走,上午10点50面的一面,到12点,下午四点面了二面,到五点,然后到六点二十面了hr面(不知道为啥旁边还坐了个总监),下午好像是有些人才一面,所以时间拖了挺久的,下午才一面的那些人好像都直接挂了,一开始看他们还在手写代码一想完了,都准备收拾东西回家了(算法什么的还没有复习- -)后来二面和面试官聊的比较起劲导致面试官没让我手写代码,然后等hr面等了一个多小时,由于面试官手上的档案记录了一二面面的问题,所以相当于问的问题完全没有重复,感觉面完网易自己准备的所有知识基本都被问到了,不过由于内容太多,自己有些内容记不太清了,反而最后一面面的不是太好,面完了大厅里已经没有人了。
最中规中矩的一次面试,基本好好准备都能准备的到。
网易过几天开始发offer,拿到offer再好好把题目拿出来整理一下。
9.3日 收到了offer邮件和短信! 于是把整理好的面试题都拿出来了 基本记的非常全,包括面试官的追问。
网易现场面60分钟
自我介绍
项目相关
自己写动画和用现成的有什么优缺点
IB中为啥拖出来一个weak
这个对象是由谁拥有的(view)
因为当我们将控件拖到Storyboard上,相当于新创建了一个对象,而这个对象是加到视图控制器的view上,view有一个subViews属性,这个属性是一个数组,里面是这个view的所有子view,而我们加的控件就位于这个数组中,那么说明,实际上我们的控件对象是属于view的,也就是说view对加到它上面的控件是强引用。当我们使用Outlet属性的时候,我们是在viewController里面使用,而这个Outlet属性是有view来进行强引用的,我们在viewController里面仅仅是对其使用,并没有必要拥有它,所以是weak的。
Autolayout
copy和strong
autoreleasepool原理用法
SDWebimage原理 你自己怎么实现
block原理
怎么防止引用循环
怎么检测引用循环 在写代码的时候 facebook有个库
谈谈runtime的理解
如何对类方法和实例方法做交换
对可变数组进行copy会怎么样
NSTimer
weak实现原理
项目中遇到了什么问题
学ios的时候遇到了什么问题
tips:
class直接获取父类 isa直接用会警告
安全方面的问题 与服务器交流加密
网易二面 60分钟
引用循环
gcd怎么实现优先级 怎么实现依赖
https中间人攻击(证书有问题)
http2多路复用解决了http1的什么问题(排头阻塞HOL)
Cookie 怎么保证这个网站是这个cookie
除了get post还有什么方法
Get post区别
响应链你知道吗
我怎么让一个按钮的可点击范围变大?
(hittest返回在里面)
为啥会离屏渲染
栅格化
CALayer和UIView的关系
布局用了哪些方法
队列和线程的关系
100个随机数找最大值
对比两组数据不同部分
哈希表原理
哈希表查找复杂度
哈希表冲突处理
类族?
__block的用处
__bridge你知道吗
加锁的开销在哪
消息转发中的函数每个干啥
上午面试官问你的xxx你会了吗
arc和mrc的区别arc多了什么属性
weak怎么实现的
UITouch和UIEvent
Runloop你了解吗 mode
你怎么学ios的 你看了哪些书
网易hr面(两个面试官) 40分钟
自我介绍
Http的状态
消息摘要
Md5
afn原理
sdwebimage原理
缓存原理
沙盒的组成
app的状态
uiview周期
你最近了解了什么新兴的技术
项目的出发点
项目中的角色
未来规划
你对薪资福利的要求
还有什么想问的吗
阿里视频面 40分钟
自我介绍
ARC
@autoreleasepool
你觉得自己特别擅长的点是什么
快排的时间复杂度
DNS
assign和weak
锁
block
循环引用
这些东西都是老师教的吗
你是如何学习ios的
面完这几天确实也发现了很多自己答错的地方(当时还说的很有自信的那种),所以还是要继续学习,顺便(可以去了解一下AFN2.x和3.x的区别)以前面试让我说AFN我就一直用runloop去说,后来发现runloop在AFN2.x里用来保活线程防止多次创建销毁(我还说成了防止收不到回调),而且这个基本面试每次都问了(我这么扯淡居然也没有怼我,想想还挺尴尬的)
(顺便,0实习经历的我,还是拿到了offer,感觉只要把自己做过的项目给描述清楚,当然项目要有一些技术含量,就可以了)
最近也开始写一些面试基础知识,结合自己面试中遇到的问题,整理了一些基础知识,详情见