关于面试题,可能没那么多时间来总结答案,有什么需要讨论的地方欢迎大家指教。主要记录一下近期面试题的一些总结,希望能帮助到正在面试或者将要面试的伙伴吧。
近期的面试题总结
1.ARC和非ARC时变量的写法以及为什么那么写
2.iOS中多线程有哪几种调用模式
3.单例模式是指什么,什么情况下要用到单例模式
4.服务器端和客户端是通过什么通讯的
5.用最有效的代码实现
①.对一个排序整型数组去重
②.对一个排序整型数组找出其中两数和为K的组合
③.求两个数组的交集
6.设计一个progress bar解决方案。
7.设计一个popup view。
8.从设计模式的角度分析Delegate、Notification、KVO的区别。
9.设计一个方案来检测KVO的同步异步问题。willChange和didChange的不同点,有没有其他地方也有类似情况。
10.设计一个KVO系统
11.Multithreading。Multithreading中常常遇到的问题,死锁,优先级翻转,线程池等。
12.UITableView滑动卡的问题,如何优化
13.怎么优化应用启动时间。
14.知道Swift和Objective C有什么区别吗?Swift可以和C++混编吗?Swift和C可以混编吗?Swift可以用pointer,“*”吗?
15.知道虚拟内存吗?那你知道App启动的过程吗?
16.知道Mach O文件吗?那你知道App包里,都有哪些Mach O文件吗?
17.class和struct有什么区别。
18.CoreData里面那个fault,你知道是什么吗?那你知道SQLite吗?
19.Get和Post有什么区别?
20.知道https和http有什么不同吗?http有三次握手,你知道https多了哪些步骤吗?
21.知道iOS的内存是怎么管理的吗?
22.多线程的线性,并发,同步,异步。
23.一个变量,怎么实现同步读,异步写?
24.知道怎么tableView怎么优化图片加载吗?如果用户疯狂滑动,你怎么缓存图片?人家又慢慢滑动了呢?
25.线程里的交互,怎么实现一个线程依赖
26.block为什么要copy修饰符?
27.mutableCopy是深拷贝还是浅拷贝?
28.为什么返回一些参数的时候后(如 string),要copy?
29.自己写个二叉树,实现哈希缓存。