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

Google 面经

🔗
匿名用户-F0S84  2021-5-3 03:07:01 |倒序浏览

2021(4-6月) 码农类General 硕士 全职@google - 内推 - 视频面试  | | Fail | 在职跳槽

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

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

x
跳槽的时候找的内推, 可能之前拿过google offer, 然后这次recruiter 就跟我说我是“google alumni“ 然后waive 店面 直接virtual onsite
第一轮: 亚洲小姐姐  这一轮是我从几年前intern面试这么多家以来最差的面试体验。 也应该是挂在这一轮了
上来就是自我介绍加上问了几个behavior questions (花了10min)
然后coding啥都不说, 给我paste了一个code comment, 大概长这样

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


这个时候已经过了30min
当时就知道这轮要挂了。 最后小姐姐直接让我写代码,我题目都不知道啥意思, 然后写了一堆不知所云的code。
小姐姐又灵魂发问:你觉得你的code work吗?
我嘴上说应该能work吧, 心里想的是能work就有鬼了, 这个题目都不明白 写了堆啥啊

code写了10min,还剩5min就用来q and a了


第二轮: 大叔:题不难 merge interval相关的题。地里之前有类似的面经 用二分法应该是最优解。 给他写了几种思路 然后说了几分钟test case之后就结束了

第三轮: 大妈: rotate sorted array找最小值。 也是二分法。 follow up是如果array太大,memory存不下怎么办。  最后也是给了思路写了代码, 然后跑了test case。 应该也没啥问题

第四轮: behavior: 在工作中遇到难缠的同事咋办, 在工作中有啥process improvement的contribution,

第五轮: system design。 设计一个马拉松比赛system 需要记录显示选手通过路上benchmark的时间, 显示dashboard等一些功能。 更多的不是distribution system focus, 主要讨论了数据存储, 数据交互,system work的流程还有failure handling 相关的东西。 感觉并不是一个typical的system round。 最后聊得也还不错


面完之后我问recruiter feedback,他一直告诉我说 mostly good, overall good。  然后我就开开心心等着送hc, 然后就挂了。。。


求米求米 求米!!!! 谢谢!!!

评分

参与人数 13大米 +23 收起 理由
烤馒头 + 1 赞一个
thuxx + 2 给你点个赞!
2Hurric + 2 给你点个赞!
Lyd. + 1 给你点个赞!
cxw111 + 3 给你点个赞!

查看全部评分


上一篇:亚麻onsite面经sde2
下一篇:湾区网络安全公司FortinetVO
推荐
hjldtc 2021-5-7 04:47:09 | 只看该作者
全局:
Tag: geometry
input lines: [(x,y),(x,y),(x,y),(x,y)] 很多个点的x,y
核心:如果p3p4 要和p1p2相交,
1. 当p2p3在p1p2 顺时针或逆时针方向, p2p4在p1p2 和前者相反的方向,
2. p1p3在p3p4 顺时针或逆时针方向,p2p3在p3p4 和前者相反的方向。
或者另一条边的一个点在线上

废话不多说 上代码
  1. class Intersection:
  2.     def find_intersections(self, lines):
  3.         n = len(lines)
  4.         res = 0
  5.         for i in range(n):
  6.             for j in range(i+1, n):
  7.                 if self.intersect(lines[i][0], lines[i][1], lines[j][0], lines[j][1]):
  8.                     res += 1
  9.         return res
  10.                
  11.     # if p1p2 intersect with p3p4
  12.     def intersect(self, p1, p2, p3, p4):
  13.         o1,o2,o3,o4 = self.orientation(p1, p2, p3), self.orientation(p1, p2, p4), self.orientation(p3, p4, p1), self.orientation(p3, p4, p2)
  14.         # p3 and p4 is different orientation to p1 and p3 and p4 is different orientation to p2
  15.         # p1 and p2 is different orientation to p3 and p1 and p1 is different orientation to p4
  16.         if o1 != o2 and o3!=o4:
  17.             return True
  18.         # if p3 is on p1p2 and p1p2 and p2p3 has same slope
  19.         if o1 == 0 and self.on(p1,p2,p3):
  20.             return True
  21.         # if p4 is on p1p2 and p1p2 and p2p4 has same slope
  22.         if o2 == 0 and self.on(p1,p2,p4):
  23.             return True
  24.         if o3 == 0 and self.on(p3,p4,p1):
  25.             return True
  26.         if o4 == 0 and self.on(p3,p4,p2):
  27.             return True
  28.         return False
  29.     # p3p2 is counter clock wise or clock wise of p1p2
  30.     def orientation(self, p1, p2, p3):
  31.         #slope1 = p2[1]-p1[1] / p2[0] - p1[0]
  32.         #sloep2 = p3[1]-p2[1] / p3[0] - p3[0]
  33.         # slope1 - slope2 = (p2[1]-p1[1]) * (p3[0] - p3[0]) - (p3[1]-p2[1]) * (p2[0] - p1[0])
  34.         diff = (p2[1]-p1[1]) * (p3[0] - p3[0]) - (p3[1]-p2[1]) * (p2[0] - p1[0])
  35.         # 2 slope equal in the same line
  36.         if diff == 0:
  37.             return 0
  38.         # slope1 > slope2 -> p2p3 is counter clock wise of p1p2
  39.         if diff > 0:
  40.             return 1 #
  41.         # slope1 > slope2 -> p2p3 is clock wise of p1p2
  42.         return 2
  43.    
  44.     # p3 is on p1p2
  45.     def on(self, p1,p2,p3):
  46.         maxx,maxy,minx,miny = max(p1[0],p2[0]), max(p1[1],p2[1]), min(p1[0],p2[0]), min(p1[1],p2[1])
  47.         return minx <= p3[0] <= maxx and miny <= p3[1] <= maxy

复制代码


求个大米

评分

参与人数 2大米 +3 收起 理由
CeliaYa + 1 很有用的信息!
kashimoto + 2 给你点个赞!

查看全部评分

回复

使用道具 举报

推荐
qwseda123 2021-5-3 03:36:52 | 只看该作者
全局:
请问下第三轮  follow up是如果array太大,memory存不下怎么办。 思路是什么 谢谢 已加米
回复

使用道具 举报

推荐
ZZ_2315 2021-5-5 08:59:08 | 只看该作者
全局:
看来面试完该向HR"抱怨"的还是要"抱怨一下"唉。。。
回复

使用道具 举报

全局:
第一轮是存心的吧。好恶心这种题目
回复

使用道具 举报

全局:
安慰一下lz,恶心的人到处都有
回复

使用道具 举报

全局:
第一题也太让人不舒服了,搞了几分钟input 还没有解释清楚 被面试者主动问了还是不告诉,真的厉害。
--------------
| - | - |- | -|
---+--+-+--
|       |
--------------
光给这个,根据你的描述,我感觉就是存心的,input 不是char ,不是int,那只能string?感觉题目怎么定义cross也没有清楚的告知。
回复

使用道具 举报

🔗
JerryLi 2021-5-3 04:04:29 | 只看该作者
全局:
楼主几年经验啊为什么当初没有选择谷歌。。
回复

使用道具 举报

🔗
clockin 2021-5-3 08:00:52 | 只看该作者
全局:
想請問樓主是面L幾呢?
回复

使用道具 举报

地里匿名用户
🔗
匿名用户-F0S84  2021-5-3 08:15:04
clockin 发表于 2021-5-3 08:00
想請問樓主是面L幾呢?

l4/5 看面试表现而定
回复

使用道具 举报

🔗
相位疯脸 2021-5-3 08:41:13 | 只看该作者
全局:
我之前面谷歌的时候,recruiter会问我每一轮面试有没有什么特别差的feedback,比如面试官communication有问题等。lz可以发一封邮件给recruiter反映一下,如果只有这一轮不好,可以试试争取加面。
回复

使用道具 举报

🔗
shchen0808 2021-5-3 13:56:18 | 只看该作者
全局:
本帖最后由 shchen0808 于 2021-5-3 14:01 编辑

关于第一题,面试官的意思是不是在二维平面上,有许多直线(or线段),问这些直线一共产生多少个交点?我们可以用y=kx + b表示直线,k表示斜率,b表示截距。我能想到的办法是暴力比较,O(N^2),用hashset存储直线的交点。应该有更高效的算法。
回复

使用道具 举报

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

本版积分规则

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