📅  最后修改于: 2023-12-03 15:02:51.074000             🧑  作者: Mango
在 MakeMyTrip 的校园招聘中,我参加了一次技术面试,这里分享一下我的面试经验和感悟。
面试者们问了我一些关于前端技术和编程的详细问题,包括但不限于以下内容:
面试者向我提供了一个编程题目来测试我的编程能力。问题是从一个数组中找到两个数之和等于一个给定的值。
我的思路是遍历数组并将每个元素放入一个 Map 中,从中查询另外一个求和等于所需值的元素。这种方法时间复杂度为 O(n)。
function twoSum(arr, target) {
const map = new Map();
for (let i = 0; i < arr.length; i++) {
const diff = target - arr[i];
if (map.has(diff)) {
return [map.get(diff), i];
}
map.set(arr[i], i);
}
return null;
}
这次面试是我的一次很好的经验,对我对于前端技术的了解加深了不少。我在这次面试中,学习到了许多新东西,尤其是面试者提问的后端技术是我以前所不熟悉的。同时自己也感觉到还有很多需要学习和提高的地方。