周末充电资源:苹果面试题库整理

神译局12小时前

关注
一份面试问题清单,总共42道。

神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。

编者按:能到苹果当实习生无疑为将来找一份好工作找到了一块敲门砖。但是想当苹果的实习生必须过好面试关。Anjali Viramgama为此收集了一份苹果的面试题库,分为非数据结构与算法(Non—DSA)与数据结构与算法问题两部分,并且给出了相应解决方案。相信一定能帮到有意面苹果的你。原文发表在Medium上,标题是:Apple’s interview questions database

以下是一份面试问题清单,总共42道,是苹果面试的时候考过的问题,还附上了相应答案的链接。我是从Glassdoor那里弄到这些问题的。因为要准备面试,所以我自己整理出了这个数据库,同时鉴于我发现这些题库挺有用的,所以我想可以把它当作速查资源发布出来。在预定的面试开始前 2 周最好试着解决或者浏览一下里面所有的问题,这样面试会充分得多。有关实习生面试的更多信息,可到作者原文了解更多。

非 DSA:

1、用MacOS的优势是什么

  • 更好的多任务处理功能

  • 更好的硬件和软件优化

  • 界面简洁明了

  • 恶意软件更少

更多信息在这里。

2. 关于Unix与Linux (这两种操作系统的对比,内核情况,MacOS内核用的是Unix还是Linux)

3. 你对Siri怎么看?你对Siri有何改进建议?

4. 你未来5年的职业规划是什么?

5. 当你点击了一个URL时会发生什么?解决方案

简单:

给定一个整数数组和一个值,确定数组中是否存在任意3个数,其总和等于给定的值。

在询问了边缘情况的处理之后,解决方案应该类似于三数之和。

2. 给定一个已排序的数组,请返回其平方的已排序数组——相关讨论参见力扣

3. 判断一个字符串是否为回文。解决方案

4. 实现一个有两个栈的队列。解决方案

5. 按位颠倒一个整数。解决方案 1解决方案 2

6. 设计一个HashSet 。解决方案

7. 设计HashMap 。解决方案

8. 给定一个字符串列表,给出在列表中为唯一的字符串的数量。

解决方案 – 把字符串列表的所有内容放入哈希集里面,然后从中构建一个列表。

9. 求二叉树的深度。解决方案

10. 编写一个函数,计算给定的整形数在链表(Linked List)中出现的次数。解决方案

中等

实现一个迭代器,该迭代器除了支持hasNext和 next 操作之外,还支持对列表的进行peek操作:解决方案

2. 复制一个图(graph)。解决方案

3. 反转一个链表。解决方案

4. 单词搜索,给定一个字母板和一个字符串,如果该字符串存在字母板内,则返回真。解决方案

5. 给定随机返回整数 1 或 0的函数magicNumber(),请编写一个新函数,用该magicNumber () 函数生成一个随机数。

解决方案 —— 先问清楚这个的范围(比方说最多 100),然后用magicNumber ( ) 函数生成相应的每一个位(比如如果最大为10的话,用二进制表示为1010,也就是4个字位)。

6. 对给定的2 个矩阵执行矩阵乘法。解决方案

7. 设计一个可用于最近最少使用(LRU)缓存的数据结构。解决方案

8. 检查二叉树的完整性。解决方案

9.在二叉树里面找出最近的共同祖先(LCA)。解决方案

10. 整合区间范围。解决方案

11. 实现归并排序。解决方案

12.将一个整数的奇数位和偶数位进行交换。解决方案

13. 最大子数组求和。解决方案

14.拓扑排序。解决方案

15. 合并重叠区间。解决方案

16.计算到达楼梯的第n级台阶的方法数(给定每次可以走几级台阶的选项)。解决方案

困难

1.给定一个字母板和一个字符串单词列表,返回出现在字母板上的所有单词。解决方案

2.给定三个字符串,如果第三个字符串是其他两个字符串的交叉,则返回 true。解决方案

3. 为最不常用 (LFU ) 缓存设计数据结构。解决方案

4. 从LinkedList 中选择一个随机节点。解决方案

5. 实现一个四叉树。解决方案

6. 查找stream的中位数。解决方案

7. 写一段代码,将两个各包含有一个数字用来表示一个大数的链表进行相加。解决方案

8. 设计一个文件管理系统。解决方案

9. 编写一个程序,用两个线程依序打印从 1 到 n 的数字。解决方案

10. 打印出X次打开和关闭括号的所有不同方式,比方说,如果X是 3,可以有:{{{}}}、{}{}{}、{{}{}} {{}}{}、{}{{}}这几种。解决方案

11.对一个拥有1000万个不同数字的数组进行排序,排序速度要快于归并/快速排序。解决方案:既然已知道范围,那么可以使用基数排序

题库就这些了,一旦找到了更多我会补充进来的。我希望这个题库可以帮到你。

译者:boxi

本文来自翻译, 如若转载请注明出处。

(0)

相关推荐