send link to app

移动开发面试指南


4.4 ( 5424 ratings )
Справочники Образование
Разработчик Shanghai Youqianhua Information Technology Co., Ltd.
бесплатно

iOS面试指南是帮助iOS开发者提升技术能力和面试技能的APP平台,并持续更新最新的面试题,其中涉及的技术内容:
一、UI视图
其中包括事件传递、视图响应、UI布局、绘制、Tableview重用机制的理解等基本技术点,也包括如离屏渲染、流式页面的性能优化、异步绘制、UI渲染机制等偏底层技术的考察。
二、Objective-C语言
其中包括如KVO、KVC、分类、扩展、关联对象等系统实现原理和机制,以及NSNotification、属性关键字等相关技术点的考察。
三、Runtime
可以说是中级以及以上工程师的必备技术要求,涉及大家对对象、类对象、原类对象的理解、消息传递机制、消息转发流程、Method-Swizzling、ISA-swizzling、动态方法解析、动态添加方法等。
四、内存管理
内容基本包括:weak自动置nil、ARC、MRC、自动释放池的实现原理、循环引用、引用计数管理思想等。
五、Block
iOS当中非常重要的OC语言特性。其中包括截获变量特性、__Block关键字、Block的本质、Block的内存管理和循环引用等。
六、多线程
iOS常见的多线程技术NSOperation&NSOperationQueue 、NSThread、以及快用烂了的GCD;那么面试过程当中,往往会结合实际代码考察同学们对多线程技术的掌握深度,包括对于常见锁的考察,如NSLock、递归锁、自旋锁、条件锁等等。
七、RunLoop
相信大家知道RunLoop可以有事做事,没事休息?可能要更深入些,RunLoop为什么会有事做事没事休息,系统是怎样实现的。哈哈,是不是有难度了,再比如怎样实现一个常驻线程、RunLoop和线程的关系是怎样的等等。
八、网络
其中包括HTTP相关的中间人攻击、HTTPS的连接建立流程、对称加密、非对称加密、DNS劫持、TCP的滑动窗口协议、可靠传输是怎样保证的,以及TCP的慢启动特点,Session/Cookie的区别等等,这些都是面试中高级岗位必考问题。
九、设计模式
其中包括常见的软件设计原则,责任链、适配器、桥接、命令、单例、策略模式等等,不要告诉我你只是看了几本书,面试官会让你结合实际业务场景,现场考察你对设计模式的运用和理解的。
十、架构/框架
其中包括常见的如怎样设计图片缓存框架、网络框架,客户端的整体架构怎样实现,常见的解耦方式有哪些,多数同学都知道OPENURL是一种解耦方案,那依赖注入这种方式可能iOS的同学会感到陌生,这也是面试官期许的答案。
十一、算法
有序数组归并、链表反转、字符串反转、大数相加算法思想等等,这部分变化就很多了。
十二、第三方
常见的AFNetworking、SDWebImageView、Reactive Cocoa、React Native等等