金九银十,这套iOS面试真题集锦,必看!
发布于 2021-09-06 11:09 ,所属分类:试题库考试资料大全
"金九银十"面试跳槽季到了!
为了让大家更好的应对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_once
7: 能否写一个读写锁?谈谈具体的分析
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面试资料,一起提供给你;
识别:ErWeiMa
进群领取:《面试题答案+iOS面试资料》一套
或
添加:keli05580,备注:面试题直接获取;
iOS技术交流群
相关资源