2019年三四月iOS面试总结

iOS基础部分

1. 多线程
  • iOS多线程的方案
  • GCD的具体应用(分组,栅栏等功能的使用,主线程全局线程和创建线程之间的区别)
  • GCD的底层实现原理
  • NSThread的实现原理
2. 锁
  • iOS中锁的种类
  • 使用锁来实现一个单例
  • 实现一个读写锁
  • 在iOS中锁的具体应用
4. 属性关键字
  • iOS属性的关键字有哪些
  • strong和retain区别
  • weak和assign相同点和不同点
  • copy关键字的使用
  • atomic是否真的能保证线程安全,为什么
  • NSArray和NSMutableArray分别用什么来修饰
  • NSString为什么用Copy来修饰,为什么
5. iOS中常用的设计模式
  • MVC和MVVM的区别
  • 用MVVM来实现一个登陆注册
  • 如何来实现一个单例(使用锁来实现一个单例)
  • KVO的底层实现原理
  • 工厂模式
6. 继承, 分类,类扩展
  • 继承分类扩展有什么相同点和不同点
  • 在什么情况下你会选择继承,什么情况下选择分类
7. iOS组件化
8. iOS跨平台编程(RN技术)
9. 原生和H5交互的技术
9. iOS点击事件的整个传递过程
10. 如何保护APP中的隐私信息
11. 用过swift的吗,在项目中有没有实际使用过
12. AutoreleasePool的底层实现原理
13. RunTime的底层实现,你用runtime做过什么东西
14. Runloop是个什么东西,以及实现原理和机制
15. iOS中Block的用法和实现原理
16. Hacker部分
  • 有了解过马甲包相关的内容吗
  • 审核4.3如何解决
  • 如何实现AB面
  • 一个30M体量的APP,让你做重命名需要多久

网络部分内容

  • http和https的区别
  • https的加密方式 (对称和非对称加密)
  • TCP的三次握手和四次挥手
  • post和get的区别

数据结构部分

  • 了解过哪些数据结构和算法
  • 数组与链表的优缺点
  • 单链表和双链表的区别
  • 判断链表中是否有环
  • 如何在链表中插入一个元素
  • 二叉树遍历和排序
  • KMP算法的实现
  • 哈希表的底层实现和应用
  • 求最长相同串
  • 了解红黑树的实现

其他部分

  • 自己的技术站是什么,有了解过H5和安卓的开发吗,对数据库和服务器有没有做过了解
  • 平时会看那些技术网站,自己会写博客吗,有没有对开源库做过贡献,会看底层代码吗
  • 个人未来两三年的职业规划是怎么样的
  • 对公司加班你怎么看
  • 遇到自己解决不了的问题是,你会怎么去做
  • 为什么从上家公司离职
  • 对加班怎么看
  • 公司每天都会加班到十点以后,你可以吗
  • 未来会住在哪里
  • 你有女朋友吗
  • 简单的对自己做一个评价
  • 平时除了工作还回去做些什么

待补充......

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,801评论 1 32
  • 在一个方法内部定义的变量都存储在栈中,当这个函数运行结束后,其对应的栈就会被回收,此时,在其方法体中定义的变量将不...
    Y了个J阅读 9,872评论 1 14
  • Java8张图 11、字符串不变性 12、equals()方法、hashCode()方法的区别 13、...
    Miley_MOJIE阅读 9,128评论 0 11
  • 1.设计模式是什么? 你知道哪些设计模式,并简要叙述?设计模式是一种编码经验,就是用比较成熟的逻辑去处理某一种类型...
    龍飝阅读 6,582评论 0 12
  • 孤独就像别人说的那样,最后走的人关门最轻…… 假期过去一段时间了,室友也一个个的离开了学校,开始的时候...
    赵文月_强化班阅读 2,895评论 2 5