📅  最后修改于: 2023-12-03 15:05:07.136000             🧑  作者: Mango
Expedia是全球领先的在线旅游服务提供商之一,公司总部位于美国,业务涵盖全球多个国家与地区。作为一个在全球范围内运作的大型公司,Expedia在软件开发方面一直处于领先地位。本文将分享在 Expedia SDE 实习(校外)小组面试中的一些经验。
无论哪家公司,了解并熟练掌握常见的编程语言和广为接受的算法知识都是必要的。建议在面试前熟悉以下技术:
面试前要了解所应聘公司的文化、业务和产品,这可以帮助你更好地了解公司的期望和职责范围。你可以访问公司网站、查看公司的线上和线下活动,或者和公司的员工联系。
日常的编程和设计问题练习,可以提高算法和语言知识,同时提高解决问题的能力。可以在 leetcode 和 HackerRank 等网站上找到许多问题,同时可以查看其他程序员的解决方案以学习更多。
在面试中会让你写代码解决一些具体的问题。如下所示是一个例子,问题、解题思路和代码实现均已给出。
给定一个长度为 n 的非空数组,找到其中出现频率最高的 k 个元素。
注意:
class Solution(object):
def topKFrequent(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: List[int]
"""
dict = {}
for i in range(len(nums)):
if nums[i] not in dict:
dict[nums[i]] = 1
else:
dict[nums[i]] += 1
items = dict.items()
backitems = [[v[1], v[0]] for v in items]
backitems.sort(reverse=True)
res = []
for i in range(k):
res.append(backitems[i][1])
return res
设计问题是在面试中长时间讨论问题的机会,旨在检查您的架构设计基础知识。下面是一个例子。
设计一个图像识别系统,这个系统可以识别一个宠物狗的品种。
首先,必须确定用于训练和测试算法的数据集。根据最新的宠物狗品种,收集大量宠物狗图片,分类数据集。
然后,需要执行以下步骤:
由于这类问题着重于设计,可能不需要代码实现。但是,如果适用于特定问题,算法和代码示例是有用的。
SDE 实习(校外)的 Expedia 小组面试必须有充分的编程和设计问题的准备。我们在面试中需要表现出熟练的语言和算法知识。同时,必须能够进行设计问题的思考。最后,我们要记住,在面试中要展现自己的热情和求知欲。