美文网首页iOS面试题iOS开发——BAT面试题合集iOS 开发
iOS开发——BAT面试题合集(持续更新)

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

作者: 原来是泽镜啊 | 来源:发表于2019-08-10 20:45 被阅读427次
  • 这个栏目将持续更新--请iOS的小伙伴关注!
  • 做这个的初心是希望能巩固自己的基础知识,当然也希望能帮助更多的开发者,

  • (文末有惊喜,请继续往下拉)
数据结构
  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 联盟持续更新,精品小圈子每日都有新内容,干货浓度极高。

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

申请即送:

  • BAT大厂面试题、独家面试工具包,

  • 资料免费领取,包括 底层进阶、图形视觉、音视频、架构设计、逆向安防、RxSwift、flutter,

相关文章

网友评论

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

    本文链接:https://www.haomeiwen.com/subject/ibldjctx.html