【面试】阿里 iOS 开发实习电话面试记录(二)

简介: iOS 客户端开发的三面。这次的面试官,一听他说话,年纪就不小了,感觉差不多也是个全栈。他问的 iOS 相关的问题我 90% 都答上来了,提到操作系统、计算机网络、算法之类的,我直说因为长期不投入实用,都忘了,他就说那就不问这方面的了,最后还劝告说,...

iOS 客户端开发的三面。

这次的面试官,一听他说话,年纪就不小了,感觉差不多也是个全栈。他问的 iOS 相关的问题我 90% 都答上来了,提到操作系统、计算机网络、算法之类的,我直说因为长期不投入实用,都忘了,他就说那就不问这方面的了,最后还劝告说,这些更多是方法论的东西,建议我学好,下面是他问了的 iOS 相关的问题:

  1. (我在简历上写自己独立开发了几个 App)说一下你自己做的那个 App(随便挑了一个)

  2. (我大概阐述了产品方向之后,他问我技术上最难的是什么,然后随口提到了要保存图片到相册)

  3. 关于 iOS 系统相册,有哪些相关方案可以获取?

  4. 以前的 AssetsLibrary 和现在的 Photos 框架都知道吗?
    (我说了关于现在引入 Photos 和 PhotosUI 之后可以获取 LivePhoto 的问题)

  5. 都熟悉哪些框架,有没有特别了解的?
    (我说我熟悉 WebKit,然后他就问了我 GCD = =)

  6. (发现我会用 GCD 之后)能不能说一下底层?

  7. (我说我知道点 ARC 相关的底层实现,就说了一通,他很满意,这里要强烈推荐下面这本书)


    Objective-C 高级编程

    同类型的问题还有 assign、weak 的区别,ARC 如何实现,编译时、运行时区别,weak 属性的对象在废弃后 指针是如何指向 nil 的……

  8. 平时了解一些架构吗?
    (我说我知道 MVC、MVVM。其他的光知道没用过,不敢拿出来装B)

  9. 说一下 MVVM
    (泪奔,难得在面试的时候能碰上自己很熟悉的,推荐不熟悉的看看最近挺火的文章《面向协议的 MVVM 架构介绍》

  10. 知道 KVO、KVC 吗?
    (虽然这个东西大家都在用,但是查一下还是能查出来一些自己不知道的,心里没底的,建议现在就去 Google 一下)

  11. 你平时做 App 之后,有什么推广途径?
    (其中我提到了一些推广平台,国内的有 36Kr 的 NEXT、爱范儿的 MindStoreAppSo,国外的有 ProductHunt,好像他在听的时候还在一边拿笔记,人家也还在学习啊~)

目录
相关文章
|
13天前
|
Java Android开发 Swift
安卓与iOS开发对比:平台选择对项目成功的影响
【10月更文挑战第4天】在移动应用开发的世界中,选择合适的平台是至关重要的。本文将深入探讨安卓和iOS两大主流平台的开发环境、用户基础、市场份额和开发成本等方面的差异,并分析这些差异如何影响项目的最终成果。通过比较这两个平台的优势与挑战,开发者可以更好地决定哪个平台更适合他们的项目需求。
54 1
|
20天前
|
设计模式 安全 Swift
探索iOS开发:打造你的第一个天气应用
【9月更文挑战第36天】在这篇文章中,我们将一起踏上iOS开发的旅程,从零开始构建一个简单的天气应用。文章将通过通俗易懂的语言,引导你理解iOS开发的基本概念,掌握Swift语言的核心语法,并逐步实现一个具有实际功能的天气应用。我们将遵循“学中做,做中学”的原则,让理论知识和实践操作紧密结合,确保学习过程既高效又有趣。无论你是编程新手还是希望拓展技能的开发者,这篇文章都将为你打开一扇通往iOS开发世界的大门。
|
21天前
|
搜索推荐 IDE API
打造个性化天气应用:iOS开发之旅
【9月更文挑战第35天】在这篇文章中,我们将一起踏上iOS开发的旅程,通过创建一个个性化的天气应用来探索Swift编程语言的魅力和iOS平台的强大功能。无论你是编程新手还是希望扩展你的技能集,这个项目都将为你提供实战经验,帮助你理解从构思到实现一个应用的全过程。让我们开始吧,构建你自己的天气应用,探索更多可能!
43 1
|
29天前
|
IDE Android开发 iOS开发
探索Android与iOS开发的差异:平台选择对项目成功的影响
【9月更文挑战第27天】在移动应用开发的世界中,Android和iOS是两个主要的操作系统平台。每个系统都有其独特的开发环境、工具和用户群体。本文将深入探讨这两个平台的关键差异点,并分析这些差异如何影响应用的性能、用户体验和最终的市场表现。通过对比分析,我们将揭示选择正确的开发平台对于确保项目成功的重要作用。
|
6天前
|
消息中间件 存储 canal
阿里面试:canal+MQ,会有乱序的问题吗?
本文详细探讨了在阿里面试中常见的问题——“canal+MQ,会有乱序的问题吗?”以及如何保证RocketMQ消息有序。文章首先介绍了消息有序的基本概念,包括全局有序和局部有序,并分析了RocketMQ中实现消息有序的方法。接着,针对canal+MQ的场景,讨论了如何通过配置`canal.mq.partitionsNum`和`canal.mq.partitionHash`来保证数据同步的有序性。最后,提供了多个与MQ相关的面试题及解决方案,帮助读者更好地准备面试,提升技术水平。
阿里面试:canal+MQ,会有乱序的问题吗?
|
2天前
|
消息中间件 架构师 Java
阿里面试:秒杀的分布式事务, 是如何设计的?
在40岁老架构师尼恩的读者交流群中,近期有小伙伴在面试阿里、滴滴、极兔等一线互联网企业时,遇到了许多关于分布式事务的重要面试题。为了帮助大家更好地应对这些面试题,尼恩进行了系统化的梳理,详细介绍了Seata和RocketMQ事务消息的结合,以及如何实现强弱结合型事务。文章还提供了分布式事务的标准面试答案,并推荐了《尼恩Java面试宝典PDF》等资源,帮助大家在面试中脱颖而出。
|
5天前
|
SQL 关系型数据库 MySQL
阿里面试:MYSQL 事务ACID,底层原理是什么? 具体是如何实现的?
尼恩,一位40岁的资深架构师,通过其丰富的经验和深厚的技術功底,为众多读者提供了宝贵的面试指导和技术分享。在他的读者交流群中,许多小伙伴获得了来自一线互联网企业的面试机会,并成功应对了诸如事务ACID特性实现、MVCC等相关面试题。尼恩特别整理了这些常见面试题的系统化解答,形成了《MVCC 学习圣经:一次穿透MYSQL MVCC》PDF文档,旨在帮助大家在面试中展示出扎实的技术功底,提高面试成功率。此外,他还编写了《尼恩Java面试宝典》等资料,涵盖了大量面试题和答案,帮助读者全面提升技术面试的表现。这些资料不仅内容详实,而且持续更新,是求职者备战技术面试的宝贵资源。
阿里面试:MYSQL 事务ACID,底层原理是什么? 具体是如何实现的?
|
5天前
|
Kubernetes 架构师 算法
阿里面试:全国14亿人,统计出重名最多的前100个姓名
文章介绍了如何解决“从全国14亿人的数据中统计出重名人数最多的前100位姓名”的面试题,详细分析了多种数据结构的优缺点,最终推荐使用前缀树(Trie)+小顶堆的组合。文章还提供了具体的Java代码实现,并讨论了在内存受限情况下的解决方案,强调了TOP N问题的典型解题思路。最后,鼓励读者通过系统化学习《尼恩Java面试宝典》提升面试技巧。
阿里面试:全国14亿人,统计出重名最多的前100个姓名
|
14天前
|
移动开发 前端开发 Swift
iOS 最好的应用程序开发编程语言竟然是这7种
iOS 最好的应用程序开发编程语言竟然是这7种
49 8
|
11天前
|
存储 缓存 NoSQL
阿里面试题:缓存的一些常见的坑,你遇到过哪些,怎么解决的?
阿里面试题:缓存的一些常见的坑,你遇到过哪些,怎么解决的?