iOSWeeklyLearning
iOSWeeklyLearning copied to clipboard
面试题整理
可以将自己遇到的感觉有价值的面试题列到这里,如果有好的解决方案参考资料可以放到这里,后续我会整理出来。
快手 视频面试 1 atomic noatomic property atomic nsinteger i //线程1 for (10000) self.i++;
2 NS_DESIGNATED_INITIALIZER 使用过吗?
3
@interface DogTest : NSObject
+ (void)test;
- (void)test;
@end
@implementation DogTest
- (void)test {
NSLog(@"TEST");
}
@end
@interface NSObject (Test)
+ (void)test;
- (void)test;
@end
@implementation NSObject (Test)
- (void)test {
NSLog(@"TEST");
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
//1
[NSObject test];
[[NSObject new] test];
//2
//[DogTest test];
//[[DogTest new] test];
}
return 0;
}
4
func test1() {
DispatchQueue.main.sync {
print("1")
}
}
func test2() {
print("1")
let que = DispatchQueue.init(label: "thread")
que.async {
print("2")
DispatchQueue.main.sync {
print("3")
que.sync {
print("4")
}
}
print("5")
}
print("6")
que.async {
print("7")
}
print("8")
}
5 给定一个正整数N, 请输出N!的结果末尾包含0的个数 例子:5! 120 0的个数是1
好未来电话面试 介绍定时器 为什么Timer定时器不准 涉及到了runloop,讲一讲对runloop的理解
介绍ios遍历方法,for in遍历的时候在里面增加一个元素会怎么样,删除一个元素会怎么样,为什么?
wkwebview设置userAgent的方法知道吗?有遇到什么问题嘛? customUserAgent 和applicationNameForUserAgent 设置userAgent 有什么区别吗? wkwebview 使用过程中有遇到什么问题嘛? UIWebview迁移到wkwebview过程中有遇到什么问题或者麻烦吗?怎么解决的 js交互前端代码安卓和ios为什么要写两套,有办法一套解决吗
怎么自己设计一个系统的UIScrollview。
理想汽车 介绍一下runloop和runtime,有用过runloop和runtime做过什么事吗 UIView和CAlayer 介绍一下组件化是怎么做的。怎么解耦的 网络层封装做了哪些事 假如A业务模块和B业务模块都要引用同一张icon,怎么处理的。 路由和target-action这两个方案的优缺点。 数据是怎么加密的,怎么保证逆向拿不到我们的加密秘钥。 怎么设计一个崩溃上架框架 alloc做了什么,init呢,new呢,new初始化有什么区别 用MVVM多久了,为什么要用mvvm,怎么对mvvm中的View做单元测试 有左右两个lable,要让左边内容全部展示,怎么布局 设计模式和设计原则,UIKit设计中有用过哪些设计模式或者设计原则。
头条 1.使用过哪些三方库,看过源码吗? 2.YYKit使用过吗?你觉得有哪些值得你学习的地方 3.SDWebimage使用过吗?解码过程中是怎么样的 4.YY加载图片和SD加载图片有什么区别吗?
1.知道weak吗, 2.用得多吗?知道什么应用场景吗? 3.底层实现是啥知道吗?是什么结构知道吗?怎么解决寻找冲突的 4.知道MLeaksFinder吗?是怎么实现的吗?
编译链接你有了解多少 有用过反射吗?什么情况下会想到用反射,有没有别的办法 RAC信号的理解 谈对引用计数的理解 手指点击屏幕发生了什么 知道有哪些锁,用过哪些锁,可以不可以用别的锁代替,是怎么考虑的 代理用什么修饰,有用过strong修饰代理吗?为什么要用strong修饰 https是基于什么加密,为什么加密了还能通过抓包工具抓取https,抓包过程是怎么样的。 了解bitmap吗?结构是什么样的,有对做过什么优化吗 可变数组的实现原理
组件化的理解,Pod update和pod install的区别,简单说一下内部是怎么实现的
算法: 盛水问题, 走台阶问题, 找链表倒数第k个元素, 链表是否有环, 遍历二叉树, 手写快排
某上市公司 Delegate 、Notification和KVO比较各自的优缺点 在一个UI的正中间实现一个正方形的红色视图有几种方式? 手触碰到屏幕的时候,响应机制是怎样的?第一响应者是谁?追问 UIView和UIResponse的关系是什么? UIViewController的生命周期是什么?追问 UIViewController 只alloc而没用到的时候, UIViewController 的view是否加载了?如果没有加载那什么时候加载? 直接用UILabel和自己用DrawRect画UILabel,哪个性能好?为什么?哪个占用的内存少?为什么? AFNetworking是否支持ipv6? 项目采用64位,为什么要用64位?怎么修改成64位?i386是什么?他们有什么关系? iOS的应用程序有几种状态?追问,退到后台代码是否可以执行?双击home键,代码是否可以执行? 一般使用的图标内存为多大?比如200×300的图片,内存应该占用多少比较合理? 说说你对内存泄漏的看法,追问,block为什么容易引起内存泄漏? [object copy]是浅拷贝还是深拷贝?为什么是浅拷贝?copy是实现了哪个协议? Images.xcassets和直接用图片有什么不一样?
内存管理方面的 多线程 各种队列 线程锁 MVVM 各种问题都问的特别细
算法: 如何删除链表中等于某个值的所有节点? 如何反转二叉树? 如何验证两个二叉树是完全相等的? 如何合并两个有序的数组之后保持有序? 输入给定整形数字n内所有的质数
- 怎么在汇编实现方法调用时间的计算?
- fishHook的原理是什么?
- pod install 的内部怎么实现的?
- xcode的space,project,target的区别和联系是什么
- category怎么实现一个weak属性?
- xcode的编译流程做了啥
1、如何检测OOM 2、source0和source1的区别,触摸事件跟它俩有什么关系 3、图片解码发生的时机是什么 4、两个类的load方法里互相创建另一个类会怎么样 5、CCache的原理是啥,它跟Xcode里的Derived Data有什么区别 6、IR和bitcode有什么区别 7、不用dipatch_once来写单例