一亩三分地论坛

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

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

Google 10/17 新鲜电面

[复制链接] |试试Instant~ |关注本帖
Little Buffalo 发表于 2016-10-18 08:21:12 | 显示全部楼层 |阅读模式

2016(10-12月) 码农类 硕士 全职@Google - 校园招聘会 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
今天处女面给了Google,感觉已然半跪了。。。
职位Infrastructure&Tools,听说不难,果然不难啊!!题目很简单,很简单,给后来者打气~
(白人 黑人问号)小哥面的,人很nice,工程师所以态度略冷,但是我做题和思考的时候都没有打扰,循循善诱,我的小福气吖~

面试流程:
1. Talk about what you're currently working on -- 一顿扯. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
2. 听说你C++不错诶,你简历上也有Java和Python,给我聊聊C++和Java的区别 -- 一顿胡扯,估计可能跪在这里了
3. 题目面试:
   A. 给你一个Sudoku Grid,设计接口并且实现一个方法,检查里面的解是否合法。
   B. Follow up: 如果是N*N的Grid,如何扩展你的程序。
   C. Follow up's follow up: 如果是N*N的Grid,如何check这个grid的长宽是否合法。
   D. 写一个Template function,接受两个Container和一个返回bool的函数作为输入,输出一个merge后的Container。

半跪经:
A. 这道题很简单才对啊……小哥说你怎么test你的程序,我扯了一大堆,然后说用户的什么输入会fail掉你的程序,我硬硬没检查输入的size啊,最后还是在小哥提醒下想起写最开始的尺寸检查。
B. 我说可以设计一个类,存储block的数目以及grid尺寸。. From 1point 3acres bbs
C. 说实话真不会。。。我说的检查height == width, 并且单边长n是个perfect square number满足 n % sqrt(n) == 0。大神求解答。
D. 厉害了我的(谷)歌!考到语言特性了,几辈子没写template function和函参了。上网现搜先学,最后函参应该写错了。。。

关于D,其实暴露了自己的口语和听力缺点,小哥说了几遍我都没听懂,小哥有点不耐烦了,给我说你就假设是两个任意数据类型的vector,给你一个bool返回值的function来实现min(x, y),你返回一个merge后的container。小哥还提了一嘴,假设两个vector都是sorted的。

教训:. 1point 3acres 璁哄潧
1. 谷歌最近很多follow up的样子,第一次写就要尽量generic,比如我写的 for (int i = 0; i < 3; ++i) 小哥就明显不满意。
2. 数据的输入一定要检查啊~~一定要检查!一定要检查!一定要检查!!

贴新鲜的代码(面完之后心好累就没看,可能有大bug,只是给大家看个思路,找到bug记得告诉我……):
. 鍥磋鎴戜滑@1point 3 acresA.. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
Screen Shot 2016-10-17 at 19.58.16.png

B. 凭记忆。。。
template <typename T> 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
vector<T> merge (const vector<T> &A, const vector<T> &B, (bool *)f) {
     int idxa = 0, idxb = 0;
     vector<T> res;

     while (idxa < A.size() && idxb < B.size()) {
          if (f(A[idxa], B[idxb])) res.push_back(A[idxa++]);
          else res.push_back(B[idxb++]);. Waral 鍗氬鏈夋洿澶氭枃绔,
     }
     while (idxa < A.size()) res.push_back(A[idxa++]);. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
     while (idxb < B.size()) res.push_back(B[idxb++]);
     return std::move(res);
}

期待能去onsite呀~~上面的函参应该是错的,大家面之前补一补语言特性吧!
大家加油呀!. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
Catherine995 发表于 2016-10-18 12:18:50 | 显示全部楼层
我觉得你的电面挺难得。。。我被Google HR 催着去面试, 感觉都没信心了。。。。
回复 支持 反对

使用道具 举报

burlesque 发表于 2016-10-19 00:14:35 | 显示全部楼层
"第一次写就要尽量generic,比如我写的 for (int i = 0; i < 3; ++i) 小哥就明显不满意"
请问这句是什么意思, 是要用for each吗?
回复 支持 反对

使用道具 举报

apepkuss 发表于 2016-10-19 06:12:42 | 显示全部楼层
burlesque 发表于 2016-10-19 00:14
"第一次写就要尽量generic,比如我写的 for (int i = 0; i < 3; ++i) 小哥就明显不满意"
请问这句是什么意 ...

LZ的意思应该是i < 3这个条件中不应该出现hard code 3.
回复 支持 反对

使用道具 举报

 楼主| Little Buffalo 发表于 2016-10-19 06:30:08 | 显示全部楼层
Catherine995 发表于 2016-10-18 12:18
我觉得你的电面挺难得。。。我被Google HR 催着去面试, 感觉都没信心了。。。。

其实还好啦~~只是感觉不太好,口语太差。难度上还好呀~
毕竟大家都说google hard难度,这两道都是easy。

室友面试完一个小时就来电话邀onsite了,我这一天多都没消息,估计挂了……给后来者攒经验了~
回复 支持 反对

使用道具 举报

 楼主| Little Buffalo 发表于 2016-10-19 06:30:59 | 显示全部楼层
burlesque 发表于 2016-10-19 00:14
"第一次写就要尽量generic,比如我写的 for (int i = 0; i < 3; ++i) 小哥就明显不满意"
请问这句是什么意 ...

不是的,是楼下说的,不要hard code。
不要显式写34567 这些constraints
回复 支持 反对

使用道具 举报

 楼主| Little Buffalo 发表于 2016-10-19 06:31:19 | 显示全部楼层
apepkuss 发表于 2016-10-19 06:12
LZ的意思应该是i < 3这个条件中不应该出现hard code 3.

对的~是这个意思
回复 支持 反对

使用道具 举报

apepkuss 发表于 2016-10-19 08:10:16 | 显示全部楼层
Little Buffalo 发表于 2016-10-19 06:31. from: 1point3acres.com/bbs
对的~是这个意思
. visit 1point3acres.com for more.
请教个问题,面试官是engineer还是technical recruiter?
回复 支持 反对

使用道具 举报

 楼主| Little Buffalo 发表于 2016-10-20 11:42:39 | 显示全部楼层
apepkuss 发表于 2016-10-19 08:10
请教个问题,面试官是engineer还是technical recruiter?

Engineer
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-4 14:55

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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