首页 文章详情

金九银十,这套iOS面试真题集锦,必看!

iOS开发 | 237 2021-09-12 05:58 0 0 0
UniSMS (合一短信)

"金九银十" 面试跳槽季到了!


为了让大家更好的应对2021年金九银十,小编特整理了一套往期有关iOS程序员面试的真题集锦,希望对你们有所帮助;


篇幅较长本文仅真题展示;

先思考解答,文末也会提供对应的“答案”; 


iOS必问基础问题


1: 讲讲你对atomic & nonatomic的理解2: 被 weak 修饰的对象在被释放的时候会发生什么?是如何实现的?知道sideTable 么?里面的结构可以画出来么?3: block 用什么修饰?strong 可以?4: block 为什么能够捕获外界变量?__block做了什么事?5: 谈谈你对事件的传递链和响应链的理解6: 谈谈 KVC 以及 KVO 的理解7: RunLoop 的作用是什么?它的内部工作机制了解么?8: 苹果是如何实现 autoreleasepool的?9: 谈谈你对 FRP (函数响应式) 的理解,延伸一下 RxSwift 或者 RAC!


Runtime相关问题


1: 什么是 isa,isa 的作用是什么?2: 一个实例对象的isa 指向什么?类对象指向什么?元类isa 指向什么?3: objc中类方法和实例方法有什么本质区别和联系?4: load 和 initialize 的区别?5: _objc_msgForward 函数是做什么的?直接调用会发生什么问题?6: 简述下 Objective-C 中调用方法的过程7: 能否想象编译后得到的类中增加实例变量?能否向运行时创建的类中添加实例变量?为什么?8: 谈谈你对切面编程的理解


网络&多线程问题


1: HTTP的缺陷是什么?2: 谈谈三次握手,四次挥手!为什么是三次握手,四次挥手?3: socket 连接和 Http 连接的区别4: HTTPS,安全层除了SSL还有,最新的?参数握手时首先客户端要发什么额外参数5: 什么时候POP网络,有了 Alamofire 封装网络 URLSession为什么还要用Moya ?6: 如何实现 dispatch_once7: 能否写一个读写锁?谈谈具体的分析8: 什么时候会出现死锁?如何避免?9: 有哪几种锁?各自的原理?它们之间的区别是什么?


数据结构问题


1: 数据结构的存储一般常用的有几种?各有什么特点?2: 集合结构 线性结构 树形结构 图形结构3: 单向链表 双向链表 循环链表 4: 数组和链表区别 5: 堆、栈和队列6: 输入一棵二叉树的根结点,求该树的深度?7: 输入一棵二叉树的根结点,判断该树是不是平衡二叉树?


算法问题


1: 时间复杂度2: 空间复杂度3: 常用的排序算法4: 字符串反转5: 链表反转(头差法)6: 有序数组合并7: 查找第一个只出现一次的字符(Hash查找)8: 查找两个子视图的共同父视图9: 无序数组中的中位数(快排思想)10: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。


架构设计问题


1: 设计模式是为了解决什么问题的?2: 看过哪些第三方框架的源码,它们是怎么设计的?3: 可以说几个重构的技巧么?你觉得重构适合什么时候来做?4: 开发中常用架构设计模式你怎么选型?5: 你是如何组件化解耦的?


性能优化问题


1: tableView 有什么好的性能优化方案?2: 界面卡顿和检测你都是怎么处理?3: 谈谈你对离屏渲染的理解?4: 如何降低APP包的大小5: 日常如何检查内存泄露?6: APP启动时间应从哪些方面优化?


总结

这一套iOS面试题有一定的难度的,但同时也是相对基础的一套iOS面试题!希望大家能够在接下来的跳槽涨薪有自己的思想。


最后:

把整理好的"答案+几份精选iOS面试资料,一起提供给你;



【获取方式】


识别:二维码

进群领取:《面试题答案+iOS面试资料》一套

添加微信: iOSxiaotian 备注:面试题 直接获取;


iOS技术交流群


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter