一、小猪
1、runtime、runloop的各种使用场景,详细介绍下。 (类别添加属性、线程保活等尽可能多的说出使用场景)
2、如何扩大按钮的点击区域。
3、id和void的区别?
id指任意一个Objective C类的对象的指针,仅限于Objective C类的对象;
void 指一个未知类型或未知内容的指针,提供了一个对其他API的对象的指针;
建议最好不要使用void,尽量用NSObject*替换id,这样编译器可以提供更好的检验。
4、内存对齐、伪指针?
内存对齐:对齐就是为了优化硬件效率,结构体的内存对齐,按照其内部最大元素基本类型或者模数大小对齐
5、匿名函数和block的区别?
匿名函数就是block,没有名字。
6、block的原理?(指针引用、值引用、__block修饰原理、block的类型,区别是什么)
7、路由的原理?
8、autoreleasePoll原理?和runloop有什么关系?
9、锁都有什么类型?
传送门
10、dyld作用,以及APP启动流程?
11、iOS内存管理机制?引用计数用什么维护?
12、weak原理?
13、GCD、NSOpreation区别,并发数越多越好吗?为什么?
14、UI在子线程刷新有什么问题吗?为什么?
15、类别怎么实现weak属性?在什么地方销毁呢?
16、可变类型用copy修饰可以吗?有什么问题?为什么?
17、说出消息转发机制?
18、实例方法调用方法流程?self和super调用有什么区别?
二、学而思
侧重基础,免了两次,一次一面挂,一次二面挂。
一面:
1、GCD和NSOpreation区别,详细说明? GCD怎么实现NSOpreation的依赖?怎么实现NSOpreation的并发数?
2、runtime、runloop的具体项目应用?
3、深浅拷贝?自定义对象的拷贝怎么实现?以及修饰可变和不可变数据类型用什么?有什么区别?
4、APP启动流程?Mach-O是什么?
5、block是什么?内部原理是什么?
6、事件响应和分发?
7、内存泄漏的场景以及解决办法?(尽可能多的说出来)
8、KVC和KVO场景?
9、如何找到两个UI的共同父类?
10、界面卡顿的原因以及如何优化?
11、怎么处NSTimer的理循环引用?还有什么方法能替代NSTimer定时器吗?
12、什么导致离屏渲染,它的渲染原理是什么?怎么处理?
二面:
1、你在项目中担任什么角色?是怎么设计项目框架的?为什么这么设计?还有别的更好的设计吗?
2、你个人有什么优势?项目有什么亮点?
3、2的1000次方你怎么算?
4、创建一个对象占有多少空间?实际占多少空间?
系统分配了16个字节给NSObject对象(可以通过malloc_size函数得到); 但NSObject对象内部只使用了8个字节空间(在64bit环境下,可以通过class_getInstanceSize函数获得)。
三、作业帮
1、代理、block使用场景?为什么会内存泄漏? 代码展示block的值引用指针引用。
2、直接allloc一个对象,它在哪个空间,什么时候销毁呢?
UIView *view = [[UIView alloc] init];
3、内存泄漏场景以及解决办法?
4、@synchronized(self),为什么用self,有什么作用,用nil可以吗?
5、B是A的子视图,B超出A范围的点击失效了怎么处理让它可以点击?
四、今日头条
基础+算法,问的都不是平时用的,都是指针内存,算法,惨败。
五、当当
各种设计模式,实例化应用场景让你转换成对象。
1、我是面试官,你是面试者,请设计个抽出的对象来处理?
2、列出设计模式?以及应用场景?(你为什么要这么设计,比如你为什么用代理?)
3、知道面向对象的组合吗?
4、排序两个数组中的数字,并算出时间复杂度?
六、智联招聘
1、SDWebImage在cell中的复用机制?
imageView 对象会关联一个下载列表,列表是给AnimationImages用的,这个时候会下载多张图片,当tableView 滑动,imageView重设数据源url 时,会cancle掉下载列表中所有的任务
,然后开启一个新的下载任务。这样就保证了只有当前可见的cell对象的imageView对象关联的下载任务能够回调,不会发生image错乱。
即:每次下载前都先取消掉上一次的下载。那么你的图片下载器就需要实现取消下载功能,幸运的是SD这样的图片加载器已经实现了这样的功能
链接:https://www.jianshu.com/p/e979581ac4c2
2、深浅拷贝?自定义对象的拷贝?它的属性也会拷贝吗?为什么?(这里问的很深,请重点写代码测试,否则说不好)
3、线程、autoreleasepool应用场景以及原理?
4、runtime和runloop的实际使用?
5、APP怎么优化?
6、MAC和MVVM?
7、通知是同步的还是异步的?
8、KVO原理
七、点点互动
做游戏SDK,对于数据的采集存储方式、共享、准确性、内购等。
1、内购流程以及掉单怎么处理?
2、APP怎么共享数据?keychain的原理是什么?
3、数据存储的几种方式?APP崩溃了怎么保证数据不丢失?SDK中存储在NSUSerDefault中的数据,有没有可能被其他SDK或者APP清掉?
4、线程的具体应用?
5、怎么防止SDK的崩溃?runtime的应用。
八、贝塔科技
做广告SDK ,涉及到的SDK的下载,打包,合并,策略都要有所了解才能比较好的应对。
1、怎么聚合多个SDK,减少SDK体积?
2、SDK展示广告机制?(从下载、存储、断网考虑)
3、SDK的多种形式?(视频、原生、H5)
4、SDK什么时机给用户反馈?
九、齐聚科技
做直播的,要比较专业的直播知识。
1、文字聊天界面,随时有几百上千条聊天,怎么处理?
2、GCD和NSOPreation?
3、直播时候渲染界面的流程?(太专业,没答出来)
十、国能合电
十一、测测星座
全flutter写的工程。
!!!打广告啦,招兼职啦!!!