iOS 基础知识

292 阅读4分钟

内存管理

事件传递

  • UIbutton-UIControl- UIResponder- NSobject

  • 响应者链

消息转发机制 Runtime

  • 类和元类

  • 父类的setter, 子类的setter 不调用父类的setter。

  • 同时重写setter和getter

  • 同一个category ,复制一遍,然后把文件名改了,编译会怎么样?

  • Unrecognize 的方法,即使不会崩溃,用户体验不好,怎么办?

  • @selecotr和imp是怎么查找的?

  • 为什么调用self.会调getter方法。

block相关

多线程

category及extension

  • 分类中为啥不能添加属性,它的结构是怎样的?

  • 类中的属性和方法是什么关系?

  • 同一类写了几个category,访问类的属性,但是又不想暴露出来,怎么实现?

  • category太多有什么问题?

  • category和扩展的区别,category为啥不能添加属性?category的方法添加到哪里了?如何访问本类中的成员变量?它的原理是啥?分类中重写了本类的方法会怎么样?

KVO

  • kvo观察一个弱引用对象会怎么样
  • kvo add remove了,什么情况还会崩溃?

UI绘制渲染

Runloop

  • 谈谈你对runloop的理解
  • nstimer为啥不准?
  • runloop

runloop:mrpeak.cn/blog/ios-ru…

draveness.me/page6/

www.jianshu.com/p/87bdf313d…

设计模式

  • mvvm 与mvc -- mvp最大的区别在哪里

崩溃率

网络

组件化及framework开发

第三方的源码

  • sdwebimage如何处理大图
  • 是否看过一些开源框架?
  • 你看过哪些框架的源代码?相比较你自己实现,afn有哪些优点?
  • YYCache aspects的原理

优化类

  • 启动流程是怎么样的?你调试过吗?
  • 你有没有做过一些优化的工作,是怎么优化的?

项目相关

  • 聊了我们的项目,视频监控,遇到的比较难的问题?
  • 你工作中遇到哪些设计模式?
  • 你工作中处理过什么棘手的问题,你是怎么解决的?
  • 介绍下你的工作职责,你认为你做的比较好的地方有哪些

算法数据结构

1.常见排序:冒泡排序,快速排序,选择排序,插入排序,及时间复杂度

2.二叉树:二叉树深度遍历,最近对公共父节点查找。

3.链表:反转,查找是否有环

4.0112358 数列的时间复杂度

5.数组查找某个数,如何做,时间复杂度

swift

跨平台方案

计算机基础

  • 计算机网络

  • TCP的拥塞机制