最近要负责面试,于是各处搜罗了一些面试题,用于笔试(不包含算法),也当作自己的一个复习。

面试题部分请参考:iOS自编面试题

规则:

  1. 40分钟作答时间。
  2. 禁止使用手机查阅答案。禁止使用 ChatGPT 类软件查阅答案。
  3. 类名、变量名以及方法名,不记得全拼的允许使用缩写。

注:

  1. 本题目多数由 ChatGPT 生成,对应答案已记录在册。

Swift

  1. Swift中的let和var有什么区别?何时应该使用let?

  2. Swift中的属性(Property)有哪些类型?它们的作用是什么?

  3. Swift的常量(static)在什么时候确定?

  4. 在Swift中,switch case 一个 NSObject 子类时,比较的是什么?

  5. 请解释 Swift 中的范型擦除(Generic Erasure)是什么,并提供一个范型擦除的例子。

iOS 开发

  1. 你在实际工作中使用过UICollectionViewCompositionalLayout吗?如果使用过,请详细描述一下实现的功能。

  2. 请列举5-10个你最常用的三方库,并选择一个你最喜欢的进行介绍,阐述原因。

架构相关:

  1. 什么是单例模式?在iOS开发中,如何实现一个单例?

代码格式规范

  1. 请列出你认为的 Swift 代码格式规范,包括但不限于缩进、空格、命名等方面。

  2. 在你的项目中,你如何确保代码格式的一致性?请举例说明。

  3. 请设计一个小模块,尽可能全面地向我展示你自己的编码风格。