前言:
每年三四月份都是招聘高峰期,也就是我们说的金三银四,很多想换工作的职场人士都会选择在此时换一份工作,毕竟一年之计在于春,对于公司和个人而言都是一个新的开始。
今年受疫情的影响,各行各业都举步维艰,然而做为iOS面试官的我也在精心准备的为公司招进优秀的iOS开发,期间收到了很多简历,也笔试了不少开发者,上一周我们已经发了3个offer,所以先下手为强,我们已经招满了人的职位,依旧陆陆续续也还有很多的简历投向我们。
前面一段时间给公司面试了10个iOS开发,自己总结了62道面试题,在此,我分享给大家,希望大家在之后要找工作的朋友,我的这篇文章能给你有所帮助。
本文分为两大部分:(1-12题为详解题)(13-62为待解题)
一、如何绘制UIView?
绘制一个UIView
最灵活的方法就是由它自己完成绘制。实际上你不是绘制一个UIView
,而是子类化一个UIView
并赋予绘制自己的能力。
当一个UIView
需要执行绘制操作时,drawRect
:方法就会被调用,覆盖此方法让你获得绘图操作的机会。当drawRect
方法被调用,当前图形的上下文也被设置为属于视图的图形上下文,你可以使用Core Graphic
或者UIKit
提供的方法将图形画在该上下文中。
二、什么是MVVM?主要目的是什么?优点有哪些?
MVVM即 Model-View-ViewModel
- 1.View主要用于界面呈现,与用户输入设备进行交互、
- 2.ViewModel是MVVM架构中最重要的部分,ViewModel中包含属性,方法,事件,属性验证等逻辑,负责View与Model之间的通讯
- 3.Model就是我们常说的数据模型,用于数据的构造,数据的驱动,主要提供基础实体的属性。
MVVM主要目的是分离视图和模型
MVVM优点:低耦合,可重用性,独立开发,可测试