yektanet

Status

📜📞🔧❌

Software Engineer

Interview process

flowchart LR
    sr(Send resume) --> hr(HR call) --> ti1(1st Technical Interview) --rejected--x ti2("2nd Technical Interview (On-site)") -.-> hri(HR Interview) -.-> o(Offer)

Apply way

Site & jobinja

Interview Date

  • Sent Resume
    1402.08.05

  • HR Call
    1402.08.27

  • Technical Interview
    1402.08.30 AT 4 PM

  • Rejection Email
    1402.09.15

Interview Duration

30 minutes

Interview Platform

Google Meet

HR Call

اچ‌آر زنگ زد یه ۱۵ دقیقه‌ای حرف زدیم. داشت رزومه رو دابل‌چک می‌کرد و هر چی که نوشته بودم رو می‌خوند و یه علامت سوال می‌ذاشت جلوش.

  • دانشگاهت فلان جا بوده؟
  • شرکت قبلیت اینجا بوده؟
  • چرا دراومدی؟
  • حقوقت اونجا چقد بوده و اینجا پیشنهادت چقده؟
  • شرایط کار حضوری دارید؟
  • سربازیت در چه وضعیه؟
  • قصد مهاجرت داری؟
  • یک ماه فرآیند مصاحبه طول می‌کشه اوکی‌ای؟
  • بعدش شروع کرد به توضیح دادن فرآیند مصاحبه که مصاحبه اول تکنیکاله و الگوریتمی و آنلاین، مصاحبه دوم هم تکنیکاله و حضوری و مصاحبه سوم HR

Technical Interview

Live code

از اینترنت نمی‌شد استفاده کرد ولی از مصاحبه‌کننده می‌شد سوال کرد.
مصاحبه کوتاهی بود که هیچ معرفی و اینام نداشت و دو تا سوال تو گوگل داک نوشته بودن که همون جا کد میزدم. سوالاش و جوابای من، اینا بود:

  • تابعی بنویسید که عدد n را ورودی بگیرد. اگر عدد به 15 بخش‌پذیر بود، عبارت FizzBuzz، اگربه 3 بخش‌پذیر بود، عبارت Fizz و اگر به 5 بخش‌پذیر بود، عبارت Buzz را چاپ کند.
def check_buzz(n: int) -> str | None:
    if n % 15 == 0:
        return "FizzBuzz"
    if n % 3 == 0:
        return "Fizz"
    if n % 5 == 0:
        return "Buzz"
    return None

my first answer with o(n ^ 2)

def check_2sum(nums: list, k: int) -> tuple:
    index = 0
    for item in nums:
        for item_2 in nums[index +1:]:
            if item_2 + item == k:
                return item, item_2
        index +=1

my second answer with O(n)

def check_2sum(nums: list, k: int) -> tuple:
    map_ = {}
    for i in range(len(nums)):
        map_[nums[i]] = i

    for i in range(len(nums)):
        target = k - nums[i]
        if target in map_ and map_[target] != i:
            return nums[i], nums[map_[target]]

قسمت return رو فکر کنم اشتباه نوشتم به نظرم i نوشته بودم جای nums[i]. حالا خیلی مهم نیس منطق و روش درسته و خودشونم گفته بودن syntax مهم نیست.

Score

5/10

هر دو سوال رو درست زدم. گر چه سوال دوم برای روش بهینه‌ش رو یه مقدار بیشتر فکر کردم چون یه بار زده بودم، داشتم یادم میاوردم و می‌دونستم باید hash map طور برم جلو. اون ایده فور دوم یه مقدار با زور اومد ذهنم ولی اومد در نهایت، زدم و اوکی هم بود. نت آن‌استیبلی هم داشتم از شانس ولی یه درصدم فکر نمی‌کردم ریجکت شه. انتظار اینو داشتم حداقل یه مرحله جلو بره. بعد از چند هفته به hr ایمیل زدم و جوابی نمی‌داد یه جواب سرسری داد که من الان سیستم پیشم نیس چند روز دیگه خبر می‌دم. مثل این که ایمیل شرکتی‌شون نیومده بود و چند روز دنبال‌شون بودم که بهم بگن ریجکت شدی! بعدش ایمیلو خودش فرستاد. hr نوبی بود خلاصه. سیستم مصاحبه‌شون اینجوری کار می‌کنه: ریفر +‌ خفه کردن با الگوریتم. اگر سابقه کاری هم نداشته باشید، ندید کنسلید (احتمالا به جز ریفرا). یه چیز دیگه‌ایم که خیلی از اونایی که اونجا بودن شنیدم، فشار کاری بالا و عدم وجود تعادل بین کار و زندگیه. طوری که از کلمه‌های برده و حیوانات اهلی دربارش استفاده می‌کنن. اما پول خوبی می‌دن. حقوق پیشنهادی که پشت تلفن گفتم، ۵تا گذاشتم رو حقوق خودم و برای اونجا یه ۱۰تام اومدم روش و یه ۵تای دیگم جهت بازه بین این و آن (بکنید از این کارا، حال می‌ده (:) که خب می‌دونستم مشکل مالی ندارن ولی با این حال گفتم الان تلفنو قطع می‌کنه! بدین صورت. نمره‌ای که دادم هم قابل مشاهده‌ست.