iOS面试题iOS开发——BAT面试题合集iOS 开发

iOS开发——BAT面试题合集(持续更新)

2019-08-10  本文已影响427人  原来是泽镜啊
数据结构
  1. 数据结构的存储一般常用的有几种?各有什么特点?

  2. 集合结构 线性结构 树形结构 图形结构

  3. 单向链表 双向链表 循环链表

  4. 数组和链表的区别

  5. 堆、栈和队列 分别是什么?

  6. 输入一棵二叉树的根结点,求该树的深度?

  7. 输入一课二叉树的根结点,判断该树是不是平衡二叉树?

算法
  1. 时间复杂度 / 空间复杂度

  2. 常用的排序算法有哪些?

  3. 字符串反转

  4. 链表反转(头差法)

  5. 如何查找第一个只出现一次的字符(Hash查找)

  6. 如何查找两个子视图的共同父视图?

  7. 无序数组中的中位数(快排思想)

  8. 如何给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。

内存管理
  1. 什么情况使用weak关键字,相比assign有什么不同?

  2. 链如何让自己的类用copy修饰符?如何重写带copy关键字的setter?

  3. 深拷贝与浅拷贝分别是什么?

  4. @property的本质是什么?ivar、getter、setter是如何生成并添加到这个类中的?

  5. @protocol和category中如何使用@property

  6. 使用CADisplayLink、NSTimer有什么注意点?BAD_ACCESS在什么情况下出现?

  7. iOS内存分区情况

  8. iOS内存管理方式

  9. 循环引用

消息传递的方式
  1. KVC的实现原理

  2. KVO的实现原理

  3. 如何手动触发KVO方法?

  4. 通知和代理跟有什么区别?

  5. block和delegate的区别有哪些?

  6. 为什么Block用copy关键字?

网络

1.网络七层协议有哪些?

2.Http 和 Https 的区别?Https为什么更加安全?

3.HTTPS的连接建立流程

4.解释一下 三次握手 和 四次挥手

5.TCP 和 UDP的区别

6.Cookie和Session

7.DNS是什么?

8.DNS解析过程

待更......

iOS社群针对相关的技术人开放,同城伙伴抱团进阶。

iOS技术职业交流覆盖 2300+技术人,

2019 联盟持续更新,精品小圈子每日都有新内容,干货浓度极高。

抢先入群,跑赢同龄人!(入群无任何费用)

申请即送:

上一篇下一篇

猜你喜欢

热点阅读