📅  最后修改于: 2023-12-03 14:49:05.306000             🧑  作者: Mango
在这篇文章中,我将回顾我在亚马逊面试中遇到的所有问题,包括属于 SDE-1 面试的编程题、系统设计题和行为面试题。
问题描述:给定一个 n x n 的二维矩阵,其中每个元素是 0 或 1。要求翻转矩阵的行,并反转每个元素的值。
示例:
输入: [[1,1,0],[1,0,1],[0,0,0]]
输出: [[1,0,0],[0,1,0],[1,1,1]]
代码:
def flipAndInvertImage(A: List[List[int]]) -> List[List[int]]:
for row in A:
row.reverse()
for i in range(len(row)):
row[i] = row[i] ^ 1
return A
问题描述:给定一个非空的整数数组,返回出现次数前 k 高的元素。
示例:
输入:nums = [1,1,1,2,2,3], k = 2
输出:[1,2]
代码:
def topKFrequent(nums: List[int], k: int) -> List[int]:
nums_count = Counter(nums)
freq_heap, top_k = [], []
for num, count in nums_count.items():
heapq.heappush(freq_heap, (-count, num))
for _ in range(k):
top_k.append(heapq.heappop(freq_heap)[1])
return top_k
问题描述:设计一个在线电子商务平台,包括购物车、订单处理、支付处理和物流管理等模块。考虑分布式处理、容错、可扩展性和高可用性。
代码:
此处省略代码,详见亚马逊面试系统设计题详解
回答:
在面对短时间内需要完成大量任务的情况下,我会遵循以下三个原则:
这里总结了所有的面试问题,这些问题涵盖了面试中的常见类型。当你准备好面试时,确保你对这些问题准备充分,这可以帮助你获得更好的机会。