头条-最新iOS面试真题总结

本文汇总了头条iOS面试中的经典真题,涵盖基础知识、算法、架构设计及多线程等方面。内容来源于真实面试经验,适合准备iOS相关岗位面试的同学参考。

温馨提示:
本文侧重题目整理,部分知识点可结合官方文档和经典书籍深入学习。欢迎留言交流,互相提升。


阅读更多

快手-最新iOS面试真题总结

背景

面的是快手X3岗位,视频面试,不支持周末,但是可以选择晚上时间。视频面试是通过牛客网进行的,以下是记下来的各轮面试题,对于一些iOS基础知识就不做解答了。


阅读更多

大厂常问iOS面试题--视图和图形篇

本篇我们来讲一下 【iOS面试题的视图&图形】相关的问题.

视图&图像相关

主要问题列表如下:

  1. AutoLayout的原理,性能如何
  2. UIView & CALayer的区别
  3. 事件响应链
  4. drawrect & layoutsubviews调用时机
  5. UI的刷新原理
  6. 隐式动画 & 显示动画区别
  7. 什么是离屏渲染
  8. imageName&imageWithContentsOfFile区别
  9. 多个相同的图片,会重复加载吗
  10. 图片是什么时候解码的,如何优化
  11. 图片渲染怎么优化
  12. 如果GPU的刷新率超过了iOS屏幕60Hz刷新率是什么现象,怎么解决

阅读更多

大厂常问iOS面试题--通知机制解析篇

简述

本文主要是针对iOS通知机制的全面解析,从接口到原理面面俱到。同时也解决了阿里、字节:一套高效的iOS面试题中关于通知的问题,相信看完此文再也不怕面试官问我任何通知相关问题了

由于苹果没有对相关源码开放,所以以GNUStep源码为基础进行研究,GNUStep虽然不是苹果官方的源码,但很具有参考意义,根据实现原理来猜测和实践,更重要的还可以学习观察者模式的架构设计


阅读更多

大厂常问iOS面试题--Runloop&KVO篇

前言

今天这一篇我们来讲一下 Runloop和KVO

本章的主要回答的问题如下:

Runloop

  • app如何接收到触摸事件的
  • 为什么只有主线程的runloop是开启的
  • 为什么只在主线程刷新UI
  • PerformSelector和runloop的关系
  • 如何使线程保活

阅读更多

大厂常问iOS面试题--NSNotification篇

主要内容包含如下:

  • 实现原理(结构设计、通知如何存储的、name&observer&SEL之间的关系等)
  • 通知的发送时同步的,还是异步的
  • NSNotificationCenter接受消息和发送消息是在一个线程里吗?如何异步发送消息
  • NSNotificationQueue是异步还是同步发送?在哪个线程响应
  • NSNotificationQueue和runloop的关系
  • 如何保证通知接收的线程在主线程
  • 页面销毁时不移除通知会崩溃吗
  • 多次添加同一个通知会是什么结果?多次移除通知呢
  • 下面的方式能接收到通知吗?为什么
1
2
3
4
// 发送通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleNotification:) name:@"TestNotification" object:@1];
// 接收通知
[NSNotificationCenter.defaultCenter postNotificationName:@"TestNotification" object:nil];

在解释这些内容之前 强烈建议认真研读一下这篇 一文全解iOS通知机制(经典收藏)文章 了解一下大概 所有的问题就迎刃而解了.


阅读更多