一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 1458|回复: 15
收起左侧

Goole/Youtube第一次电面

[复制链接] |试试Instant~ |关注本帖
tcswdys 发表于 2015-2-18 04:32:37 | 显示全部楼层 |阅读模式

2015(1-3月) 码农类 硕士 全职@Google - 网上海投 - 技术电面 |Other

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
Phone Screen, 上来个阿三就开始问问题,口音略听不清。。。。

就一题多线程的, 如果已经set, set()无操作 ,wait()清除set,如果没有set,set() 就set,wait()坐等直到set。
v = 0
s = semaphore()

def increment:
  while True:
   v = v + 1
   set(s)

def display:
  while True:
    wait(s)
    print v

问打印的结果如何。

开始挺纠结的,后来慢慢理清思路也还好,可能错了一点。
求onsite,求offer啊~

. 鍥磋鎴戜滑@1point 3 acres

评分

1

查看全部评分

zq13667243992 发表于 2015-2-18 05:57:57 | 显示全部楼层
主程序是啥?? 我星期五要面
回复 支持 反对

使用道具 举报

 楼主| tcswdys 发表于 2015-2-18 06:05:45 | 显示全部楼层
zq13667243992 发表于 2015-2-18 05:57
-google 1point3acres主程序是啥?? 我星期五要面

increment和display同时运行,没有主程序。。
回复 支持 反对

使用道具 举报

mattsun 发表于 2015-2-18 08:53:58 | 显示全部楼层
"wait坐等直到set"什么意思?不是已经set了吗
回复 支持 反对

使用道具 举报

 楼主| tcswdys 发表于 2015-2-18 11:07:07 | 显示全部楼层
mattsun 发表于 2015-2-18 08:53-google 1point3acres
"wait坐等直到set"什么意思?不是已经set了吗

set过一次后执行wait会清除set
回复 支持 反对

使用道具 举报

mattsun 发表于 2015-2-18 12:17:44 | 显示全部楼层
tcswdys 发表于 2015-2-18 11:07
set过一次后执行wait会清除set
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
打印的结果是唯一解吗?我觉得可能有多种情况,看两个函数在不同的线程/进程里面的执行顺序。. from: 1point3acres.com/bbs
最明显的就是打印出1,2,3,4,5...这种情况就是每次display都先执行,然后wait等待set,等到set之后print出来的v+1了
但是还有可能就是display一直没机会执行(或者increment执行比较快),这样increment就一直执行,v一直变大,然后遇到set没有反应又进入下一次while循环。这样打印出来的结果就会skip掉一些数字。

lz怎么回复的?
回复 支持 反对

使用道具 举报

pulpfree009 发表于 2015-2-19 12:46:53 | 显示全部楼层
1个小时,就做这么一个题?
回复 支持 反对

使用道具 举报

 楼主| tcswdys 发表于 2015-2-21 04:17:56 | 显示全部楼层
mattsun 发表于 2015-2-18 12:17
打印的结果是唯一解吗?我觉得可能有多种情况,看两个函数在不同的线程/进程里面的执行顺序。. more info on 1point3acres.com
最明显的就 ...

结果不是唯一的,把所有的都说给他,有skip,有重复, 有顺序打印
回复 支持 反对

使用道具 举报

 楼主| tcswdys 发表于 2015-2-21 04:18:19 | 显示全部楼层
pulpfree009 发表于 2015-2-19 12:46
1个小时,就做这么一个题?

嗯。。。 于是今天收到second phone screen了。。。
回复 支持 反对

使用道具 举报

 楼主| tcswdys 发表于 2015-2-21 04:18:26 | 显示全部楼层
pulpfree009 发表于 2015-2-19 12:46.鏈枃鍘熷垱鑷1point3acres璁哄潧
1个小时,就做这么一个题?

嗯。。。 于是今天收到second phone screen了。。。
回复 支持 反对

使用道具 举报

无聊的ttt 发表于 2015-2-21 05:55:55 | 显示全部楼层
lz为啥会有重复的情况?
回复 支持 反对

使用道具 举报

pulpfree009 发表于 2015-2-21 12:31:34 | 显示全部楼层
同问如上,什么情况,会出现重复的呢?
回复 支持 反对

使用道具 举报

woquuuu 发表于 2015-2-22 07:57:58 | 显示全部楼层
请问lz申的是什么职位啊?. 1point3acres.com/bbs
skill expertise是什么?
祝lz早日拿到offer!!
回复 支持 反对

使用道具 举报

mattsun 发表于 2015-2-27 14:55:03 | 显示全部楼层
tcswdys 发表于 2015-2-21 04:17
结果不是唯一的,把所有的都说给他,有skip,有重复, 有顺序打印
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
同楼上,楼上的楼上问,为何会重复?
回复 支持 反对

使用道具 举报

whitenights 发表于 2015-2-27 15:10:02 | 显示全部楼层
出现重复的情况:
  1. v = 0
  2. s = semaphore()
  3. . 1point 3acres 璁哄潧
  4. def increment:. 1point 3acres 璁哄潧
  5.   while True:
  6.    v = v + 1 // (1
  7.    set(s)  // (2

  8. def display:.1point3acres缃
  9.   while True:. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
  10.     wait(s) // (3
  11.     print v // (4
复制代码
假设此时 v = 1, 程序在 (2, (3,然后发生了如下顺序执行:
2 => 1 (v++) => 4 (print 2) => 3 => 2 => 4 (print 2)
出现了重复的2
回复 支持 反对

使用道具 举报

milanelllo13 发表于 2015-6-10 12:53:58 | 显示全部楼层
怎么这么非主流的面试><
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-9 04:17

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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