回复: 9
跳转到指定楼层
上一主题 下一主题
收起左侧

Scale ai 店面

🔗
匿名用户-VHJMW  2020-11-21 08:37:52 |倒序浏览
👀 1

2020(7-9月) 码农类General 硕士 全职@scale.ai - 网上海投 - 技术电面  | | Fail | 应届毕业生

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
您好!
本帖隐藏的内容需要积分高于 200 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 200 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies

评分

参与人数 3大米 +17 收起 理由
loveFISHly + 1 很有用的信息!
jwang3417 + 1 给你点个赞!
匿名用户-YOBGR + 15

查看全部评分


上一篇:Lutron SDE超详细两轮面经
下一篇:Databricks最全面经总结
推荐
mnmunknown 2021-4-22 13:17:35 | 只看该作者
全局:
感谢分享(Scale.AI 的面经是真的少。。) ~ 自己写了个 python 简陋版的,sample input 2 的 output 跑出来和 lz 给的例子一样

  1. from collections import deque

  2. class Task:
  3.     def __init__(self, name, duration = 1):
  4.         self.name = name
  5.         self.duration = duration
  6.         self.stage = 0
  7.    
  8.         self.prev_workers = set()
  9.    

  10. class Worker:
  11.     def __init__(self, name):
  12.         self.name = name
  13.         
  14.         self.task = None
  15.         self.task_start_time = None
  16.         self.task_end_time = None
  17.         
  18.     def assign_task(self, task, task_start_time):
  19.         self.task = task
  20.         self.task_start_time = task_start_time
  21.         self.task_end_time = task_start_time + task.duration
  22.         
  23.     def finish_task(self):
  24.         print(f"Worker {self.name} finished task {self.task.name} for stage L{self.task.stage}")
  25.         self.task.stage += 1
  26.         finished_task = self.task
  27.         
  28.         self.task_start_time = None
  29.         self.task_end_time = None
  30.         self.task = None
  31.         
  32.         return finished_task
  33.         
  34.     def task_finished(self, current_time):
  35.         return current_time >= self.task_end_time

  36.         
  37. class Scheduler:
  38.     def __init__(self):
  39.         self.time = -1
  40.         self.task_queue = deque()
  41.         
  42.         self.idle_worker_queue = deque()
  43.         self.busy_worker_queue = deque()
  44.    
  45.     def add_task(self, task, stage):
  46.         self.task_queue.append(task)
  47.    
  48.     def add_worker(self, worker):
  49.         self.idle_worker_queue.append(worker)
  50.    
  51.     def assign_worker(self, task, worker):
  52.         worker.assign_task(task, self.time)
  53.    
  54.     def all_work_completed(self):
  55.         if len(self.task_queue) > 0:
  56.             return False
  57.         if len(self.busy_worker_queue) > 0:
  58.             return False
  59.    
  60.         return True
  61.         
  62.    
  63.     def time_lapse(self):
  64.         self.time += 1
  65.         print(f"Time: {self.time}")
  66.         # Check completed tasks and refresh idle worker queue
  67.         for _ in range(len(self.busy_worker_queue)):
  68.             worker = self.busy_worker_queue.popleft()
  69.             if worker.task_finished(self.time):
  70.                 finished_task = worker.finish_task()
  71.                
  72.                 self.idle_worker_queue.append(worker)
  73.                 if finished_task.stage <= 2:
  74.                     self.task_queue.append(finished_task)
  75.             else:
  76.                 self.busy_worker_queue.append(worker)

  77.         # Try to find open task and assign to idle worker
  78.         if len(self.idle_worker_queue) == 0:
  79.             return
  80.         else:
  81.             for _ in range(len(self.idle_worker_queue)):
  82.                 worker = self.idle_worker_queue.popleft()
  83.                 found_job = False
  84.                 for _ in range(len(self.task_queue)):
  85.                     task = self.task_queue.popleft()
  86.                     if worker not in task.prev_workers:
  87.                         found_job = True
  88.                         self.assign_worker(task, worker)
  89.                         self.busy_worker_queue.append(worker)
  90.                         print(f"Assigning {worker.name} to Task {task.name} for L{task.stage}")
  91.                         break
  92.                     else:
  93.                         self.task_queue.append(task)
  94.                 if not found_job:
  95.                     self.idle_worker_queue.append(worker)                        
  96.    

  97. def test():
  98.     scheduler = Scheduler()
  99.     tasks = [Task('A'), Task('B')]
  100.     workers = [Worker('X'), Worker('Y'), Worker('Z')]
  101.    
  102.     for task in tasks:
  103.         scheduler.add_task(task, 0)
  104.     for worker in workers:
  105.         scheduler.add_worker(worker)
  106.    
  107.     while not scheduler.all_work_completed():
  108.         scheduler.time_lapse()
  109.         
  110. test()

  111. # *Sample input 2: *
  112. # tasks = [Task('A'), Task('B')]
  113. # workers = [Worker('X'), Worker('Y'), Worker('Z')]

  114. # *Sample output 2 (one possible correct answer): *
  115. # 0
  116. # Assigning X to Task A for L0
  117. # Assigning Y to Task B for L0
  118. # 1
  119. # Worker X finished Task A for L0
  120. # Worker Y finished Task B for L0
  121. # Assigning Z to Task A for L1
  122. # Assigning X to Task B for L1
  123. # 2
  124. # Worker Z finished Task A for L1
  125. # Worker X finished Task B for L1
  126. # Assigning Y to Task A for L2
  127. # Assigning Z to Task B for L2
  128. # 3
  129. # Worker Y finished Task A for L2
  130. # Worker Z finished Task B for L2
  131. # Total time taken: 3 min
  132.         
复制代码
回复

使用道具 举报

全局:
这家 startup 究竟在搞什么
回复

使用道具 举报

🔗
toufucc 2021-5-10 12:32:54 | 只看该作者
全局:
拿到offer了吗 有package 汇报吗
回复

使用道具 举报

🔗
roymobius 2021-10-6 09:02:31 | 只看该作者
全局:
您是否必须从头开始编写代码? 或者他们有给你的模板吗?
回复

使用道具 举报

🔗
litha 2021-10-23 12:04:59 来自APP | 只看该作者
全局:
我今天面MLE on-site 也被問這題。完全沒有準備到!估計是掛了!
回复

使用道具 举报

🔗
dawg 2021-10-24 09:28:56 | 只看该作者
全局:
litha 发表于 2021-10-23 00:04
我今天面MLE on-site 也被問這題。完全沒有準備到!估計是掛了!

能分享一下你电面问了什么样的题吗 感谢!
回复

使用道具 举报

🔗
litha 2021-10-25 11:38:11 来自APP | 只看该作者
全局:
dawg 发表于 2021-10-23 18:28:56
能分享一下你电面问了什么样的题吗 感谢!
被很多under問了deep learning 的問題,還有這篇文章 的問題以及給定一堆影像,以兩個trained好的模型,要比較那個model 表現比較好。我面的是MLE.

评分

参与人数 1大米 +1 收起 理由
lingzhi + 1 很有用的信息!

查看全部评分

回复

使用道具 举报

全局:
我也面到一摸一样的题…
回复

使用道具 举报

🔗
lingzhi 2022-9-25 01:03:11 | 只看该作者
全局:
您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 100 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限 或 查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表