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

Google onsite七月面经

全局:

2016(7-9月) 码农类General 博士 全职@google - 猎头 - Onsite  | | Fail | 应届毕业生

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

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

x


八月份Google的onsite,一直没有机会写,现在基本尘埃落定了,有时间写一些面经,希望对大家有帮助。

一共五轮面试,四轮coding加一轮PhD。

coding 1:编码解码。比如A是1,B是2。。。Z是26,第一问是一串字母(e.g.,ABACCC
您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
使用VIP即刻解锁阅读权限或查看其他获取积分的方式
游客,您好!
本帖隐藏的内容需要积分高于 188 才可浏览
您当前积分为 0。
VIP即刻解锁阅读权限查看其他获取积分的方式
Unlock interview details and practice with AI
Curated Interview Questions from Top Companies
计数据结构,写代码,我感觉是挂在这一面了

Ph.D:就是随便聊聊Ph.D的工作

各位大神多给些金币啊,接下来还会有Facebook,Amazon,Uber,Cisco等面经,敬请期待

评分

参与人数 1大米 +3 收起 理由
lookbackinanger + 3 感谢分享!

查看全部评分


上一篇:刚刚结束的Bloomberg 电面
下一篇:Facebook 电面面经

本帖被以下淘专辑推荐:

推荐
LynKang 2016-10-3 01:48:43 | 只看该作者
全局:
keluotete 发表于 2016-9-29 05:07
关键是设计数据结构,减少内存操作,比如一个string str是abcdefgh,然后调用del(str, 1, 2),返回adffgh ...

首先在Java里,String是immutable的。如果你要manipulate一个String,一旦产生了一点变化,你都需要生成一个新的instance。所以in-place是不可能的。
而且Java里,literal的String建立,生成的instance是存在于jvm heap里的一个constant string pool里的,而用constructor创立的instance是存在于heap里的。前者始终返回同一个instance,后者每次建立一个新的instance。可以借鉴前者。
可以想到的一个方法是:
1. manipulate的时候用StringBuffer和StringBuilder。或者自己写数据结构用char[]。
2. 自己管理一个constant String pool,每次有新的String instance需要生成的时候检查是不是存在于这个pool里了。可以想到建立一个trie tree字典,然后用char[]去匹配。如果存在直接返回那个instance。
这个方法可以保证一个字符串永远只有一个或者零个instance存在于内存里。
回复

使用道具 举报

推荐
LynKang 2016-10-3 06:54:37 | 只看该作者
全局:
LynKang 发表于 2016-10-3 06:41
你难道要返回StringBuffer吗?这不能解决任何问题。
如果题目要求尽量不要生成额外的instance,占用内存 ...

在Java的API层面上思考问题是不够的,我们需要看到这个API背后的东西。毕竟Java也不是一个完美的语言,后来有很多设计都是为了弥补过去的不足,但是为了backward compatibility,有很多坏东西被保存了下来。官方的API文档还有很多有误的地方。这就是为什么有Apache的commons的库和Google Guava。但是Java整体的走向是好的,马上Java9要出了,又是很多惊喜。
回复

使用道具 举报

推荐
liurudahai 2016-10-3 06:12:48 | 只看该作者
全局:
LynKang 发表于 2016-10-3 01:48
首先在Java里,String是immutable的。如果你要manipulate一个String,一旦产生了一点变化,你都需要生成 ...

用TRIE每次加入TRING,比如OFFSET是20,那还要跑到ROOT的第二十层CHILD那去,速度很慢啊,我觉得是不是就用STRING BUFFER就好了,如果OFFSET超过STRING BUFFER现长度,就用空格补齐,删除的话就把OFFSET那一部分设置成空格。。。
回复

使用道具 举报

🔗
hanabeast 2016-9-28 07:03:05 | 只看该作者
全局:
怎么改进performance  LZ怎么答的
回复

使用道具 举报

🔗
 楼主| keluotete 2016-9-28 07:07:38 | 只看该作者
全局:
hanabeast 发表于 2016-9-28 07:03
怎么改进performance  LZ怎么答的

用hashtable存已经访问的路径吧
回复

使用道具 举报

🔗
xiaoling99 2016-9-28 07:56:52 | 只看该作者
全局:
楼主好人,请问有follow up的问题吗?
回复

使用道具 举报

🔗
tigercode 2016-9-28 08:02:42 | 只看该作者
全局:
4 感觉两个操作已经都是O(1)的了,还有什么其它限制么?
回复

使用道具 举报

🔗
hyj143 2016-9-28 08:30:32 | 只看该作者
全局:
楼主再接再厉!!

这几道题感觉难度都不是特别变态那种, hr 是什么 feedback?
回复

使用道具 举报

全局:
求问第二问的时间复杂度要求是啥? 都要O(lgn)么?
回复

使用道具 举报

🔗
cicean 2016-9-28 14:49:59 | 只看该作者
全局:
真的考的都特别难…他们都随笔想题,偶尔重复也是因为…懒得想别的了。
回复

使用道具 举报

🔗
 楼主| keluotete 2016-9-29 05:05:21 | 只看该作者
全局:
xiaoling99 发表于 2016-9-28 07:56
楼主好人,请问有follow up的问题吗?

follow up一般就是怎么改进time和space,rtadeoff之类的
回复

使用道具 举报

🔗
 楼主| keluotete 2016-9-29 05:07:34 | 只看该作者
全局:
tigercode 发表于 2016-9-28 08:02
4 感觉两个操作已经都是O(1)的了,还有什么其它限制么?

关键是设计数据结构,减少内存操作,比如一个string str是abcdefgh,然后调用del(str, 1, 2),返回adffgh,怎么不重新申请内存空间做到这点
回复

使用道具 举报

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

本版积分规则

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