美文网首页iOS面试题
2022年iOS面试题2

2022年iOS面试题2

作者: 酷拼车 | 来源:发表于2022-01-05 14:33 被阅读0次

    重点总结-四大分类:

    iOS底层原理
    性能优化以及架构
    多线程、网络
    数据结构算法
    iOS底层原理(必问):iOS开发必备能力,也是大厂面试快速筛选人才方式之一。

    对象底层原理
    指针与内存的一些相关面试
    Weak 弱引用
    Block 的原理
    AutoreleasePool 原理
    Runloop 的原理
    Runtime相关、消息转发原理....
    组件化
    常问例题:

    1. 什么情况使用weak关键字,相比assign有什么不同?
    2. 深拷贝与浅拷贝
    3. 简要说一下@autoreleasePool的数据结构?
    4. autoreleasePool 在何时被释放?
    5. 说一下iOS内存分区情况
    6. 如何解决循环引用?
    7. Runloop 和线程的关系?
    8. isa指针的理解,对象的isa指针指向哪里?
    9. Runtime 如何实现 weak 属性?
    10. load和initialize的区别
    11. ......
      性能优化以及架构能力:目前大厂对于这一块,非常重视;

    ①性能优化方面:tableView的优化 -> 界面卡顿原理 -> app 性能分析 -> 项目优化

    ②架构方面:设计模式、解耦手段、组件化....

    常问例题:

    1. 造成tableView卡顿的原因有哪些?
    2. 如何提升 tableview 的流畅度?
    3. APP启动时间应从哪些方面优化?
    4. 如何降低APP包的大小?
    5. 日常如何检查内存泄露?
    6. iOS有哪些常见的设计模式?
    7. 单例会有什么弊端?
    8. MVC、MVP、MVVM模式
    9. 编程中的六大设计原则?
    10. ......
      多线程、网络能力:iOS中高级开发,都应该了解,并且熟悉的知识点;

    多线程的原理
    线程池
    GCD
    锁相关原理
    网络设计
    网络框架的理解
    开发过程中一些需求结合多线程或者网络设计!
    常问例题:

    1. 进程与线程?
    2. 什么是多线程?
    3. 多线程的优点和缺点?
    4. 多线程的 并行 和 并发 有什么区别?
    5. 多线程中的死锁?
    6. GCD执行原理?
    7. 网络的七层协议?
    8. Http 和 Https 的区别?Https为什么更加安全?
    9. 解释一下 三次握手 和 四次挥手?
    10. Cookie和Session
    11. ......
      数据结构算法能力占比比较大:通常一般大公司都会有一些笔试:虽然不在核心岗位对于数据结构算法要求不是非常严格,但是也会有一些常规的数据结构和算法的题

    排序
    数据结构设计
    复杂度讨论
    一些脑筋急转弯的算法题
    ......
    常问例题:

    1. 链表和数组的区别是什么?插入和查询的时间复杂度分别是多少?
    2. 哈希表是如何实现的?如何解决地址冲突?
    3. 排序题:冒泡排序,选择排序,插入排序,快速排序(二路,三路)能写出哪些?
    4. 链表题:如何检测链表中是否有环?如何删除链表中等于某个值的所有节点?
    5. 数组题:如何在有序数组中找出和等于给定值的两个元素?如何合并两个有序的数组之后保持有序?
    6. 二叉树题:如何反转二叉树?如何验证两个二叉树是完全相等的?
    7. 数据结构的存储一般常用的有几种?各有什么特点?
    8. ......

    相关文章

      网友评论

        本文标题:2022年iOS面试题2

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