一亩三分地论坛

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

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

Google新鲜面经

[复制链接] |试试Instant~ |关注本帖
desmile 发表于 2016-2-4 05:51:08 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 全职@Google - 内推 - 技术电面 |Other在职跳槽

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

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

x
美国小哥挺友好的,一直在肯定我说的话,题目不难,气氛还算不错,希望能顺利onsite。

第一题:给一个 sorted Integer array, 返回square后的array.主要是要考虑负数的情况,很多trick的地方比如全都是negative或者全都是positive
第二题: serialize a string array, then deserialize it.-google 1point3acres
.鏈枃鍘熷垱鑷1point3acres璁哄潧
祝大家猴年大吉!!加油加油!!

评分

2

查看全部评分

本帖被以下淘专辑推荐:

hhz1992 发表于 2016-2-6 08:31:53 | 显示全部楼层
关于第一题,可不可以先找到绝对值最小的那个数,然后以那个数为中点用两个pointers, 每次作比较,取绝对值最小的平方,再加到输出数组里.... 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
给开辟新数组么?
求解释怎么用字符串做。。。
回复 支持 2 反对 0

使用道具 举报

lpx1989 发表于 2016-2-4 09:13:54 | 显示全部楼层
我想问下楼主,new grad fulltime 面试,电话面试有几轮啊?我刚拿到OA,还不太了解,谢谢啦
回复 支持 反对

使用道具 举报

googlerr 发表于 2016-2-4 09:16:39 | 显示全部楼层
第一题是对每个元素求square?比如[-2, -1, 0, 5]返回[4, 1, 0, 25]吗?
回复 支持 反对

使用道具 举报

guixi107 发表于 2016-2-4 09:27:14 | 显示全部楼层
googlerr 发表于 2016-2-4 09:16. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
第一题是对每个元素求square?比如[-2, -1, 0, 5]返回[4, 1, 0, 25]吗?

估计输入是排好序的, 要求输出按照从小到大,或者从大到小的顺序?
回复 支持 反对

使用道具 举报

 楼主| desmile 发表于 2016-2-4 09:42:35 | 显示全部楼层
lpx1989 发表于 2016-2-4 09:13
我想问下楼主,new grad fulltime 面试,电话面试有几轮啊?我刚拿到OA,还不太了解,谢谢啦

电话面试应该就一轮吧 两道题。。 但是我没有做OA
回复 支持 反对

使用道具 举报

 楼主| desmile 发表于 2016-2-4 09:43:09 | 显示全部楼层
googlerr 发表于 2016-2-4 09:16
第一题是对每个元素求square?比如[-2, -1, 0, 5]返回[4, 1, 0, 25]吗?
.1point3acres缃
对对没有错,返回的array也要是sorted
回复 支持 反对

使用道具 举报

 楼主| desmile 发表于 2016-2-4 09:43:25 | 显示全部楼层
guixi107 发表于 2016-2-4 09:27
估计输入是排好序的, 要求输出按照从小到大,或者从大到小的顺序?
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
exactly!
回复 支持 反对

使用道具 举报

lpx1989 发表于 2016-2-4 09:44:50 | 显示全部楼层
desmile 发表于 2016-2-3 21:42
电话面试应该就一轮吧 两道题。。 但是我没有做OA

原来是一轮电话面试啊,我以为两轮呢。刚收到oa,我对Google面试流程完全陌生呢还。
看楼主面试状态,可以做好准备去onsite了
回复 支持 反对

使用道具 举报

csgtc 发表于 2016-2-4 09:57:32 | 显示全部楼层
我也刚面完,你面了多久?我才面了半小时 面试官就准备了一道题
回复 支持 反对

使用道具 举报

 楼主| desmile 发表于 2016-2-4 10:06:23 | 显示全部楼层
lpx1989 发表于 2016-2-4 09:44
原来是一轮电话面试啊,我以为两轮呢。刚收到oa,我对Google面试流程完全陌生呢还。
看楼主面试状态,可 ...

多谢多谢!希望如此。 你OA也好好做,加油
回复 支持 反对

使用道具 举报

 楼主| desmile 发表于 2016-2-4 10:06:50 | 显示全部楼层
csgtc 发表于 2016-2-4 09:57
我也刚面完,你面了多久?我才面了半小时 面试官就准备了一道题

我面了45分钟,有时候就是只有一道题然后一些follow up,要看面试官的
回复 支持 反对

使用道具 举报

returning 发表于 2016-2-5 15:37:37 | 显示全部楼层
第二题是啥,是这个吗https://leetcode.com/problems/encode-and-decode-strings/。这不是serialize, 这是encode
回复 支持 反对

使用道具 举报

nana19903 发表于 2016-2-6 08:01:49 | 显示全部楼层
第一题只想到了最简单的先 square 再 sort, 楼主有更好的方法吗??另外serialize是神马意思??按照字母排序??deserialize呢??
祝猴年大吉~~
回复 支持 反对

使用道具 举报

lpx1989 发表于 2016-2-6 08:05:32 | 显示全部楼层
nana19903 发表于 2016-2-5 20:01. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
第一题只想到了最简单的先 square 再 sort, 楼主有更好的方法吗??另外serialize是神马意思??按照字母排 ...

序列化和反序列化的意思,说白了就是转换成字符串,再读字符串恢复原来结构
回复 支持 反对

使用道具 举报

nana19903 发表于 2016-2-6 09:27:10 | 显示全部楼层
lpx1989 发表于 2016-2-6 08:05
序列化和反序列化的意思,说白了就是转换成字符串,再读字符串恢复原来结构

谢谢~~~~明白了点~~~~~感觉和 encode decode strings有点像~~~
回复 支持 反对

使用道具 举报

likeulb 发表于 2016-2-16 13:53:49 | 显示全部楼层
nana19903 发表于 2016-2-6 08:01
第一题只想到了最简单的先 square 再 sort, 楼主有更好的方法吗??另外serialize是神马意思??按照字母排 ...
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
原来的array是Sort的,感觉可以用i,j分别指向头,尾,看谁的绝对值大,就先把谁的平方放到result array的最右,依次移动i 或j
回复 支持 反对

使用道具 举报

GUIXIANG 发表于 2016-2-16 14:27:11 | 显示全部楼层
按照likeulb的思路在codeshef上撸了一下第一题,感觉最麻烦的是。。。平方之后超过Integer.MAX_VALUE吧,这个怎么处理应该跟面试官讨论一下吧?
第二题求详细解释。。。

        public static void main (String[] args) throws java.lang.Exception
        {
                // your code goes here
                int[] arr = {-9, 1, 4, 7};
                sortSquare(arr);
                for(int temp : arr){
                    System.out.println(temp);. Waral 鍗氬鏈夋洿澶氭枃绔,
                }
        }
       
        private static void sortSquare(int[] arr){
            int len = arr.length;
            int left = 0;
            int right = len-1;. from: 1point3acres.com/bbs
            int square = 0;// assume square will not exceed Integer.MAX_VALUE;
            while(left < right){. 1point3acres.com/bbs
                if(Math.abs(arr[left]) < Math.abs(arr[right])){
                    square = arr[right] * arr[right];. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
                    arr[right] = square;
                }else{
                    square = arr[left] * arr[left];
                    arr[left] = square;
                    swap(arr, left, right);
                }
                right--;
            }
        }. 1point 3acres 璁哄潧
       
        private static void swap(int[] arr, int left, int right){
            int temp = arr[left];
            arr[left] = arr[right];
            arr[right] = temp;
        }
回复 支持 反对

使用道具 举报

prodigalr 发表于 2016-2-16 14:51:05 | 显示全部楼层
我觉得第一题找到第一个正数的起始点,假设为i, 然后做square。左边是 i-1 ->0,右边是 i ->n-1,  左右两边合起来做merge, 复杂度是O(n).
回复 支持 反对

使用道具 举报

arianne0715 发表于 2016-2-17 23:39:30 | 显示全部楼层
第二题能不能直接把STRING粘起来,然后再 split?

不过这还取决于string输入的内容和分隔符。。还得有限制
. Waral 鍗氬鏈夋洿澶氭枃绔,
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

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

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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