回复: 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面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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