📅  最后修改于: 2023-12-03 14:47:20.332000             🧑  作者: Mango
本文是我在校外面试 Swiggy 担任 SDE-1 职位时的体验分享。在此,我将分享我的面试流程和面试官提出的问题。
我的面试分为两轮。每轮面试约为 45 分钟左右。第一轮面试的重点是我的基本技能和经验。第二轮面试的重点则是我的解决问题和项目管理能力。
在第一轮面试中,我被要求回答一些基础问题,例如 OOP,数据结构和算法。我还被要求解释我的过去项目经验。
在第二轮面试中,我需要回答关于项目管理的问题,并解释我的解决问题的过程以及如何遵循最佳实践。
面试官在整个过程中都很友善和专业,并且给予了充分时间让我思考问题并回答问题。
以下是我在面试中记下的一些问题示例:
Markdown 代码块:
class Animal:
def __init__(self, name):
self.name = name
def eat(self):
print(self.name + ' is eating.')
class Dog(Animal):
def __init__(self, name):
super().__init__(name)
def bark(self):
print(self.name + ' is barking.')
def eat(self):
print(self.name + ' is eating loudly.')
animal = Animal('animal')
dog = Dog('dog')
animal.eat()
dog.eat()
dog.bark()
# 输出:
# animal is eating.
# dog is eating loudly.
# dog is barking.
Markdown 代码块:
哈希表是一种基于键值对的数据结构,其本质上是一个数组。它利用哈希函数将键值对应的哈希映射到数组中的一个位置。
增加新项目:
删除项目:
Markdown 代码块:
我在一个旧项目中遇到过一些问题,它的速度非常慢,这导致了很多用户的不满。
我首先分析了整个代码,并发现了一些潜在的瓶颈。
我对这些瓶颈进行了优化,例如将某些代码块从 O(n^2) 的复杂度降至 O(n log n) 的复杂度。
最后,我进行了一些基准测试,发现我的优化使得项目的速度提高了 50%。
如何进行团队管理并保持跟踪项目的进度?
Markdown 代码块:
我通常使用敏捷开发方法和 Scrum 进行团队管理。
整个面试过程是非常愉快和充实的。面试官提出的问题非常有挑战性,但我认为它们非常合理且有助于评估我的技能和经验。在整个面试流程中,我感受到了 Swiggy 的企业文化以及他们对员工成长和发展的重视。
最后,我很高兴地宣布我已通过了这次面试,并且我非常期待能够加入 Swiggy 团队并在这里取得更多的成就和成长。