📜  Zomato 面试经验(4 年以上经验)(1)

📅  最后修改于: 2023-12-03 14:48:42.858000             🧑  作者: Mango

Zomato 面试经验(4 年以上经验)

简介

Zomato 是一家总部位于印度的在线餐厅点评平台,成立于 2008 年。其业务已经扩展到了世界各地,包括印度、美国、加拿大、澳大利亚等国家。 Zomato 的技术栈主要使用了 Python、Django、Flask、PostgreSQL、Redis 等技术,并采用了很多最新的技术。

面试流程
初步面试

Zomato 的初步面试通常会持续 60-90 分钟,包括技术面试和文化面试。

技术面试通常会聚焦于以下几个方面:

  • Python 和 Django 的知识
  • 数据库的基础知识和查询优化
  • Web 开发的基础知识
  • 熟练使用 Linux 和相关工具
  • 设计模式和 OOP 编程的基础知识

文化面试通常会关注以下几点:

  • 团队合作能力
  • 对创业公司的热情
  • 解决问题的能力
  • 沟通能力
技术面试

Zomato 的技术面试通常包括以下几个环节:

1.编码能力

面试官会给出一道编程题,要求应聘者在 45 分钟内完成。这道题目通常要求应聘者使用 Python 或者 Django、Flask 去实现一个简单的系统功能。这个环节主要考察应聘者的编码能力、设计和实现的能力。

如:

class Car:
    def __init__(self, autostart=False, speed=0, fuel=0):
        self.autostart = autostart
        self.speed = speed
        self.fuel = fuel

    def start(self):
        if self.fuel <= 0:
            return "out of fuel"
        self.autostart = True
        self.speed = 30
        return "started"

    def stop(self):
        self.autostart = False
        self.speed = 0
        return "stopped"

    def move(self):
        if self.autostart:
            self.speed += 10
            self.fuel -= 1
        if self.fuel <= 0:
            self.autostart = False
            self.speed = 0
            return "out of fuel"
        return f"moving at {self.speed} km/h"

2.系统设计

这个环节主要考察应聘者系统架构设计、方案设计和流程设计等能力。一道典型的例子是让应聘者设计一个在线点餐系统的架构和流程,考虑到系统的可扩展性,性能和稳定性等。

3.算法与数据结构

这个环节主要考察应聘者基础的算法和数据结构知识。面试官会给出一些算法题目,要求应聘者在 20-30 分钟内完成实现。

如:

  • 给定一个数组,找出所有不重复的子集。
  • 给定一堆钱,找出凑出某个数的最小数量。
HR 面试

这个环节主要关注应聘者的工作经历、职业规划、期望薪水等问题。

面试准备
技术准备

准备过程中需要着重复习 Python、Django、Flask、PostgreSQL、Redis 等技术的知识,特别是一些常见的设计模式和 OOP 编程的知识。

算法与数据结构

面试过程中会考察应聘者的算法和数据结构基础。可以参考一些经典的算法书籍,如《算法》第 4 版、《剑指 Offer》等等。

项目经验

Zomato 的面试注重的是项目经验,因此需要着重准备自己过往的项目经验。了解每个项目中的技术栈、架构设计、性能优化等细节和过程。

文化准备

文化方面,需要了解 Zomato 的企业文化、以及公司特色。可以通过去官网了解公司的历史、业务特点和创始人的背景等。

总结

Zomato 的技术要求很高,虽然加班会比较多,但是工作氛围较好,项目还都比较大,接触到的技术也比较先进。面试的时候需要准备充分,综合能力和项目经验是起决定作用的两个关键因素。