iOS技能,这些大厂硬核面试题你会了嘛?
2020-07-20 本文已影响0人
iOS最新面试题收录

点赞再看,养成习惯,
欢迎大家关注我面试小专栏 : iOS中高级进阶之路 有我准备的一线大厂面试资料和简历模板,欢迎Star!
面试题
- 详细描述一下 UIView 与 CALayer 的关系,drawRect 一定会影响性能吗?UI Dynamics 与 UIKit Animation 的最本质区别是什么?
- 如何用 UIImageView 显示超大分辨率的图?如果要支持缩放呢?
- 了解 fishhook 吗?说说为什么 fishhook 不能修改非动态连接库中的符号?
- C++ 调用虚方法与 Objective-C 发消息有什么区别?
- 了解 placement new 吗?Objective-C 中如何实现这个功能?
- 如何在 ARC 环境下用 C++ 标准库容器来管理 Objective-C 对象?
- id、self、super 它们从语法上有什么区别?
- isa 是什么?是指向 Class 对象本身的指针吗?
- block 修改捕获变量除了用 __block 还可以怎么做?有哪些局限性?
- NSDictionary 与 NSHashTable 有什么区别,它们的使用场景是怎样的?
- 用过 Swift 吗?如何评价 String index 的设计?
- 假设 iPhone 上有一个与服务器的 TCP 连接,此时 iPhone 忽然断网,服务器能在短时间内知会 iPhone 的离线吗?
- 为什么 Wireshark 不能直接抓取 SSL 的原始数据?
- backtrace 是在用户态实现的吗?能否讲讲实现它的大致思路?
- malloc 的指针 double free 产生的异常与访问 freed 指针有可能产生的异常有什么区别?为什么访问 freed 指针不一定产生异常?
- RunLoop 是一个不停歇在运行的死循环吗?为什么?
- 看过 runtime 的源码吗?源码中常有的 fastpath、slowpath 是什么?
- runtime 中 SideTables(不是 SideTable)存在的意义是什么?
- 为什么 ARC 环境下不允许我们调用 [super dealloc]?
- Objective-C 是如何保证系统升级后的 ABI 稳定性的?
下面这段伪代码存在什么问题?应该如何改进?
int main(int argc, const char * argv[]) {
// ...
NSUInteger threadCount = [NSProcessInfo processInfo].activeProcessorCount;
NSCondition *cond = [NSCondition new];
for (int i = 0; i < threadCount; i++) {
[NSThread detachNewThreadWithBlock:^{
while (YES) {
[cond lock];
while (/* Queue is empty */) {
[cond wait];
}
// Dequeue an item
[cond unlock];
// Handle the item
}
}];
}
while (YES) {
// Enqueue something when it comes
[cond broadcast];
}
// ...
}
关于算法相关题
要求写出可编译代码
- 翻转k个链表 (写代码)
- 实现堆排序
- 进程和线程的区别
- 二叉树的中序遍历,非递归
- 如何拷贝一个包含随机指针的链表 (描述思路)
- 程序在运行时操作系统除了分配内存空间还有什么
- 存一个通讯录,包括增删改查,用什么数据结构?
- .二叉树的中序遍历,非递归?
- 你使用RN的时候有遇到什么问题?什么地方导致RN性能瓶颈?
- 给定一个数组,其中有一个数只出现一次,其他数都出现两次,找到只出现一次的那个数。
- 给定一个数组array,其中array[i] != array[i+1],找到任何一个i,满足array[i] > array[i-1] 且 array[i] > array[i+1]。假设array[-1] == array[n] == 负无穷。要求O(logN)时间复杂度。
交叉面试
1、介绍项目,主要介绍自己强项一点的地方
2.追问:还有吗?
3、数组cop后里面的元素会复制一份新的吗
4、数组的浅拷贝与深拷贝
5、TCP为什么是三次握手和四次挥手
..............
............
问题还是很多很多的,日后我可能也会写一篇文章来解答一下所有的问题,当然我更希望大家能够自己完成这些问题,不要尝试直接搜答案,很多题也许根本搜不到答案,所以自己探究的过程一定是必不可少的,加油吧!