题目

面试简述

2019-05-27  本文已影响6人  橘子不酸丶

关于iOS面试常见问题总结:

1.算法:Leetcode,剑指offer系列

交换两个变量的值(如果不使用临时变量)

找出数组数中两数之和为sum的所有组合(最优时间复杂度)

char *字符串翻转

获取字符串中出现最多次数的字符(最优时间复杂度)

快速排序

2.GCD多线程系列,线程同步的方法,三个任务并发执行全部执行完之后在主线程执行另一个任务 https://www.jianshu.com/p/2d57c72016c6

3.Error **和BOOL *原理,值传递和指针传递和地址传递

4.MSMutableArray底层原理,超出分配的内存空间后是怎么处理的

5.链表和线表的优缺点,怎么结合两者的优点

6.msgsend底层原理,是怎么方法寻址的,isa指针,类和对象方法寻址区别https://www.jianshu.com/p/fab1a5c9a29a Class本质:https://www.jianshu.com/p/74db5638f34f

7.runtime动态获取属性,获取方法列表

8.KVO底层实现原理,kvo_person类为啥会指向父类,kvo_person类的isa和class都是Person吗 ,isa-swizzling技术 https://www.jianshu.com/p/5477cf91bb32

9.网络基础知识相关必问,https加密解密过程,七层协议,UDP和TCP优缺点,三次握手四次挥手,charls抓包原理https,http请求参数有哪些,http错误码404,500代表什么,端口

10.UIFoundation,CoreFoundation,CoreAnimation,CoreGrapics关系,CPU和GPU绘制过程怎么配合分工

11.CF转NS和NS转CF都有哪些修饰符__bridge __bridge_transfer __bridge_retain

12.__block修饰符原理,block底层

13.__attribute属性相关http://liumh.com/2018/08/18/ios-attribute-section/

14.iOS中的锁

15.事件传递过程,自己写一个UIView的分类实现获取事件响应的顶端View

16.动态库和静态库区别优缺点

17.工作中遇到最有挑战的事

18.runloop底层实现,都有什么Model https://www.jianshu.com/p/d260d18dd551

19.线程和进程的区别,进程会分配单独的执行内存空间,线程之间共享内存空间

20.队列和线程的关系,队列的作用,调度任务

21.项目中使用什么架构和设计模式

22.自我介绍

23.MRC下setName实现(要先retain)

24.UITableView卡顿优化

25.__weak的原理和底层

26.消息转发机制

27.讲讲你的项目

28.https://www.jianshu.com/p/2a97d143ceda

29.APP启动原理https://www.jianshu.com/p/4fe773d6da4c

上一篇下一篇

猜你喜欢

热点阅读