美国买被子or国内带被子?

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货

最近看过此主题的会员

E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
码农求职神器Triplebyte:
不用海投
内推多家公司面试
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
查看: 2043|回复: 37
收起左侧

dog家 完整人生系列

[复制链接] |试试Instant~ |关注本帖
我的人缘0
宝儿 发表于 2018-7-13 13:06:14 | 显示全部楼层 |阅读模式
本楼: 【顶】   100% (1)
 
 
0% (0)   【踩】
全局: 顶  100% (51)
 
 
0% (0)  踩

2018(4-6月) 码农类General 硕士 全职@Google - 猎头 - Onsite  | Other | 在职跳槽

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

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

x
游客,本帖隐藏的内容需要积分高于 150 才可浏览,您当前积分为 0。
查看如何攒积分 Click here for more info.
最后的最后,感谢面试官的善意,运气好遇到的都是比较愿意沟通的面试官,没有黑着脸就只让你写代码的那种,紧张或者懵逼了就交流两句其实对于心态调整还是很有帮助。


. 牛人云集,一亩三分地

补充内容 (2018-7-13 13:43):
各位看官,心情好的话给赏点米呗?

补充内容 (2018-7-16 01:58):
打错了一个字。。。第二轮是ReqLogger不是Red,不要被误导,red不是关键词。。。
还有关于thread和memory的问题我在下面回复了某位盆友,大家可以去下面回复看

补充内容 (2018-7-16 02:01):
还有,地理的大牛比较多,问一句这个最后一轮的第一题矩阵,最优解应该是什么?我当场写出来的解法无比拙劣。。。面试官也说有更好的办法,但比较难想,所以最优解应该是啥?

评分

参与人数 22大米 +107 收起 理由
Anakin09 + 3 给你点个赞!
konve123 + 5 很有用的信息!
lee2009jian + 5 很有用的信息!
bjwmz + 5 咋都这么难
富民文 + 5 给你点个赞!
huangy17 + 3 很有用的信息!
电机一只狗 + 5 很有用的信息!
smellycat + 10 很有用的信息!
joker125 + 3 给你点个赞!
Liuyi_Jin + 1 很有用的信息!
luckycat123 + 5 给你点个赞!
oceanator + 5 很有用的信息!
jeff_xu001 + 5 给你点个赞!
xingwuzheng + 5 很有用的信息!
edyyy + 5 给你点个赞!

查看全部评分


上一篇:软家 event 面经
下一篇:IXL OA

本帖被以下淘专辑推荐:

我的人缘0
小时候可帅哝 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   100% (1)
 
 
0% (0)   【踩】
全局: 顶  92% (73)
 
 
7% (6)  踩
宝儿 发表于 2018-7-16 01:56
其实很简单。。。就是多线程同时在处理user request的时候,这些request最后都是要log进disk同一个logfil ...

我在工作中有看到类似的东西, 讨论一下哈.
从我的角度的理解, 他说的share memory 很可能是针对request. 如果用一个pool来存所有的request, 从API来看. startTask(id, start_time) 这个user只给了task id, 那么在这个method里面, 我们要通过这个id来拿request的object. 类似于 m_requestsPool->GetRequest(id)这样的操作.  当user把这个request处理完了. 就要把req给release掉咯.  理论上来说, 不同的user不应该能拿到同一个req.  也就是说, 不同的thread不应该hold同一个req, 理论上来说. 如果我们需要考虑跑了太久的req的话, 我们是不是需要时不时的查看一个req跑了太久, 如果跑了太久需不需要cancel掉. 当你cancel这个req的时候, 就意味着, 我们需要有另外一个thread去访问同一个req了.  CancelActiveTask thread 拿到这个req, 完成cancel之后也要release操作.  可能就会出现 race condition, double delete req. 我们的做法是, 针对每一个req, 每一个thread拿到req的时候加一个ref, 结束的时候release ref. ref为 0 destructor做delete操作.  (很Cpp的做法哈. )
没有太多的信息, 只是个人理解. 这个说的memory ojb应该是reqest个体.

关于 synchronize, 我能够想到几个方面的处理. 我会在这个class里面维护两个obj,  Hashmap<id, starttime> workingTasks, PriorityQueue<req> FinishedTask.
一个thread startTask之后, 把这个req写进workingTasks. End()的时候remove req. 这两个操作用Write lock. 上lock大家都会, 为了multi threading.
如果为了上面讨论的, 检查是否有长时间hung的req的话, 就意味着我们要有一个monitor thread隔一会就要做一个read. 看看是不是太久了. 需要cancel. 那么这个monitor thread 不应该block其他的user. 所以用read lock, 可以解决效率问题. . 1point 3acres 论坛
. 牛人云集,一亩三分地
然后还有一个IO的优化, 要尽量减少写进disk这种IO操作. 所以我们只有当finishedTask满了, 或者超过一点时间, 才把整个queue里面的内容写进disk. 这个write method实际上把这个queue flush到disk, 结束的时候要empty这个queue.  同样的, 因为多个user在写这个queue. 所以只需要一个write lock. 来源一亩.三分地论坛.

评分

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

查看全部评分

回复

使用道具 举报

我的人缘0
shawnchangsdu 发表于 2018-7-13 13:18:38 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  78% (11)
 
 
21% (3)  踩
感觉像是被按在地上摩擦了五次
感谢分享
期待lz的好结果
回复

使用道具 举报

我的人缘0
wtcupup 发表于 2018-7-13 15:56:51 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  61% (332)
 
 
38% (204)  踩
第三轮难道一个map就解决了吗?
回复

使用道具 举报

我的人缘0
Liuyi_Jin 发表于 2018-7-13 20:53:35 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  47% (10)
 
 
52% (11)  踩
楼主,m13641542734@163.com能发一下吗?积分太低了…
回复

使用道具 举报

我的人缘0
idatascience 发表于 2018-7-13 22:23:42 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  80% (184)
 
 
19% (44)  踩
感谢分享~未必会挂的,祝楼主好运:)
回复

使用道具 举报

我的人缘0
edyyy 发表于 2018-7-13 22:36:07 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  84% (79)
 
 
15% (15)  踩
shawnchangsdu 发表于 2018-7-13 13:18
感觉像是被按在地上摩擦了五次
感谢分享
期待lz的好结果

哈哈。摩擦已经不错了。。。。。我记得有次准备了好多coding题,最后问了我一道数学题。。。。. more info on 1point3acres

补充内容 (2018-7-13 22:37):
感觉搂住面得还不错啊,祝好运!
回复

使用道具 举报

我的人缘0
aviva 发表于 7 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (15)
 
 
0% (0)  踩
lz面得cloud组吧,在sv
第二轮,一堆multi user同时使用的会造成的multithreading和share memory的问题 来源一亩.三分地论坛.
lz可以详细说一下吗?
Mobile Apps Category (English)728x90
回复

使用道具 举报

我的人缘0
xingwuzheng 发表于 7 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  83% (5)
 
 
16% (1)  踩
我只能加5分,全给你啦。感觉楼主心态非常好,而且讲的很详细。谢谢楼主信息。

祝好运
回复

使用道具 举报

我的人缘0
damonlove 发表于 7 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (5)
 
 
0% (0)  踩
麻烦问下楼主什么时候面的呢?听说最近google cloud招人很多,不知道是不是headcount会多些,谢谢啦!
回复

使用道具 举报

我的人缘0
 楼主| 宝儿 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (51)
 
 
0% (0)  踩
Liuyi_Jin 发表于 2018-7-13 20:53
楼主,m13641542734@163.com能发一下吗?积分太低了…

发给你啦~
回复

使用道具 举报

我的人缘0
 楼主| 宝儿 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (51)
 
 
0% (0)  踩
xingwuzheng 发表于 2018-7-14 05:14. from: 1point3acres
我只能加5分,全给你啦。感觉楼主心态非常好,而且讲的很详细。谢谢楼主信息。

祝好运

谢谢你!你也加油!
回复

使用道具 举报

我的人缘0
 楼主| 宝儿 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (51)
 
 
0% (0)  踩
damonlove 发表于 2018-7-14 05:17
麻烦问下楼主什么时候面的呢?听说最近google cloud招人很多,不知道是不是headcount会多些,谢谢啦!
. from: 1point3acres
我上周面的~应该是的吧,但也不是我选的cloud,是hr直接安排在了sunnyvale面试,我觉得如果你想面cloud的话可以在约面试的时候跟hr讲自己对cloud感兴趣,hr都是很好说话都是尽力想帮你的那种,我觉得说一下应该没问题安排面cloud的
回复

使用道具 举报

我的人缘0
 楼主| 宝儿 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (51)
 
 
0% (0)  踩
aviva 发表于 2018-7-14 01:05
lz面得cloud组吧,在sv-google 1point3acres
第二轮,一堆multi user同时使用的会造成的multithreading和share memory的问题.留学论坛-一亩-三分地
l ...

其实很简单。。。就是多线程同时在处理user request的时候,这些request最后都是要log进disk同一个logfile并且总体上都要满足按开始时间顺序排序的对吧。所以这些用户,不能各自为营分别建立ReqLogger的object进行操作,如果是分别操作的话,是在各自分立的object的数据结构(比如我用的map和array)基础上排序,这样的话你只能保证每个用户是排好序的,写在一起就不一定了。所以需要让他们就共用一个map和array。这是一点
还有一点就是,共用的话就会有读写冲突,所以需要加锁什么的,要理智加锁,效率尽量高吧,感觉这个比较 open,我把我知道的反正都说了出来。。。
share memory其实我到最后也没有很get到他的点。。。他问类似什么memory都是有life cycle的,然后你某一个thread搞完了其他的thread可能还在用这个memory,你不能把这个memory在exit的时候realease掉。。。然后我就很蒙,我又不是在thread里面创建object,除了thread也不会释放memory啊,没办法只能按照他的意思猜了一个可以用global,然后他说倒也是个办法。。我问他有没有什么更好的,他也不肯给我讲了,只说是很open的问题,你回去查一查会有很多解决办法的-。-
大概就是这样
回复

使用道具 举报

我的人缘0
westcoastboy 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  85% (98)
 
 
14% (17)  踩
wtcupup 发表于 2018-7-13 15:56
第三轮难道一个map就解决了吗?

同好奇第三题。
Map<variable, expression> ; . 留学申请论坛-一亩三分地
应该是每次遇到a = b + c,如果是a那么看看map里面有没有a的赋值expression,如果是b或者c, 就把相应把b或者c的expression从map里remove.
回复

使用道具 举报

我的人缘0
 楼主| 宝儿 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (51)
 
 
0% (0)  踩
wtcupup 发表于 2018-7-13 15:56
第三轮难道一个map就解决了吗?

啊?为啥是map,不应该是dp嘛~小学奥数题走格子,只不过这个走的方向不太一样
回复

使用道具 举报

我的人缘0
wtcupup 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  61% (332)
 
 
38% (204)  踩
宝儿 发表于 2018-7-16 01:59
啊?为啥是map,不应该是dp嘛~小学奥数题走格子,只不过这个走的方向不太一样

哈哈 我说的是那道方程题. 围观我们@1point 3 acres
回复

使用道具 举报

我的人缘0
 楼主| 宝儿 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (51)
 
 
0% (0)  踩
wtcupup 发表于 2018-7-16 02:40
哈哈 我说的是那道方程题

哦哦哈哈我写了两个第三轮。。。对就是一个map,机智!时间复杂度是n
回复

使用道具 举报

我的人缘0
yunsan9999 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  75% (3)
 
 
25% (1)  踩
感谢楼主分享!
回复

使用道具 举报

我的人缘0
damonlove 发表于 5 天前 | 显示全部楼层
本楼: 【顶】   0% (0)
 
 
0% (0)   【踩】
全局: 顶  100% (5)
 
 
0% (0)  踩
宝儿 发表于 2018-7-16 01:42
我上周面的~应该是的吧,但也不是我选的cloud,是hr直接安排在了sunnyvale面试,我觉得如果你想面cloud ...

多谢楼主了,楼主一定可以的!!!
回复

使用道具 举报

游客
请先登录

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-7-21 06:22

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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