美文网首页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