📅  最后修改于: 2023-12-03 15:36:05.840000             🧑  作者: Mango
这里是一位程序员在亚马逊面试的经历分享。
我被要求写一个程序,来找到两个数组中的公共元素。
代码片段:
def find_common_elements(arr1, arr2):
return set(arr1) & set(arr2)
我被要求写一个函数来计算一个字符串中的所有单词的出现次数。
代码片段:
from collections import Counter
def count_words(string):
return Counter(string.split())
我被要求设计一个系统,可以根据用户喜好推荐电影。
我提出了一个基于内容的推荐系统,并讨论它的优点和缺点。
我被问到如何实现快速排序,并被要求在白板上写出来。
代码片段:
def quicksort(arr):
if len(arr) <= 1:
return arr
pivot = arr[len(arr) // 2]
left = [x for x in arr if x < pivot]
middle = [x for x in arr if x == pivot]
right = [x for x in arr if x > pivot]
return quicksort(left) + middle + quicksort(right)
我被要求解决一个性能问题,并被提供一个具有性能问题的代码。
我检查了代码并找到了问题,然后提出了一个解决方案,并进行了代码修改。
代码片段:
# 原始代码
items = ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig', 'grape']
for i in range(len(items)):
print(i, items[i])
修改后的代码:
# 优化后的代码
items = ['apple', 'banana', 'cherry', 'date', 'elderberry', 'fig', 'grape']
for i, item in enumerate(items):
print(i, item)
这次亚马逊的面试是一次非常好的经历,我得到了很多的反馈和建议。我收获了一些有用的技能,并学到了如何更好地准备接下来的面试。