📅  最后修改于: 2023-12-03 15:34:53.326000             🧑  作者: Mango
本文将带你进入我在 Meesho 进行的 SDE-1 面试的全过程。
在面试开始前,我要进行一下准备,包括:
这些准备都非常重要,因为在面试中你需要展示你的技能和知识,并且证明自己能够适应 Meesho 的文化。
在第一轮面试中,面试官向我提出了一些针对前端技术的问题,包括 JavaScript 的原型、作用域、事件、闭包等方面的问题。
接下来,他让我设计一个类功能,该功能接受一个字符串输入,统计每个字符出现的次数,并按照次数从大到小对结果排序。
function countChars(str) {
const charCounts = {};
for (let i = 0; i < str.length; i++) {
const char = str[i];
if (charCounts[char]) {
charCounts[char]++;
} else {
charCounts[char] = 1;
}
}
const result = [];
for (const char in charCounts) {
result.push([char, charCounts[char]]);
}
result.sort((a, b) => b[1] - a[1]);
return result;
}
我们还讨论了一些我在前端和 React 中遇到的问题,并就如何处理这些问题提出了一些解决方法。
在第二轮面试中,我被要求设计一个简单的签到应用。
排班员每天会创建新的班次,并且将班次分配给护士。然后护士可以在应用程序中签到,表示他们已经到岗。
我的任务是设计这个应用程序,并讨论一些可能的难点和解决方案。我提出了一些关于服务器端数据存储和应用程序界面设计的想法。
在最后一轮面试中,我有机会提出一些问题,加深对 Meesho 公司的理解,并提供我对该公司未来方向的看法。这个环节也是面试的重要环节之一,因为它让你和面试官之间建立了更紧密的联系,而且让他们了解你所想要了解的内容。
整个面试过程真正的兴趣和挑战,我在短短的时间内,学到了许多关于前端开发和软件设计的新知识,并发现自己在某些方面还需加强。如果你想加入 Meesho 团队,希望我的经验能够对你有所帮助。