[职场感言] 工作一年了,聊聊三件事

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 1861|回复: 11
收起左侧

新鲜g家电面

[复制链接] |试试Instant~ |关注本帖
EasonS 发表于 2016-2-10 07:25:04 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类General 本科 全职@Google - 网上海投 - 技术电面  | Other | fresh grad应届毕业生

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

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

x
不知道这题地里有没有:Write code to print all pairs of natural numbers. 这题关键是all 讨论一下意思是pretend the program can run forever 所以就有了下面的死循环做法
void printPairs() {
        int candidate = 0;

        while(true) {
                //0,2 1,2
                for (int i=0; i<candidate; i++) {
System.out.println(i, candidate);
}
//2,2
System.out.println(candidate, candidate);
//2,1 2,0
                for (int j=0; j<candidate; j++) {
System.out.println(candidate, j);
}
//increment
candidate ++;
}
}
就这一题 然后就聊问题了 求onsite~~

评分

1

查看全部评分

qetu133 发表于 2016-2-11 00:10:54 | 显示全部楼层
echo33 发表于 2016-2-10 12:27
这个是啥意思啊?

int是64位或者32位,32位最大值是2^32 = 20亿多一点,电脑一秒钟可以执行上百亿次,所以这个program在32位机器上就一秒不到就回overflow,64位也就稍微比32位慢一点而已。要想run forever,就要用‘0’、‘1’、‘2’...‘9’单独的ASCii字符来模拟递增,因为这样才不会有64,32这样的限制,可以达到10^n(n是当前程序可用内存大小以bits为单位再除以8bits,8bits因为ASCii占用8bits),才能一直跑下去。
回复 支持 2 反对 0

使用道具 举报

qetu133 发表于 2016-2-10 10:39:34 | 显示全部楼层
你这个程序就一秒钟就会死,说要run forever应该是指用char的array来模拟integer递增,c++就是vector<char>
回复 支持 反对

使用道具 举报

CrossTheWall 发表于 2016-2-10 11:37:14 | 显示全部楼层
qetu133 发表于 2016-2-10 10:39
你这个程序就一秒钟就会死,说要run forever应该是指用char的array来模拟integer递增,c++就是vector

是啊,这题就是用string来模拟代替long long, 感觉楼主被interviewer阴了
回复 支持 反对

使用道具 举报

echo33 发表于 2016-2-10 12:27:10 | 显示全部楼层
qetu133 发表于 2016-2-10 10:39
你这个程序就一秒钟就会死,说要run forever应该是指用char的array来模拟integer递增,c++就是vector

这个是啥意思啊?
回复 支持 反对

使用道具 举报

zhuyisong 发表于 2016-2-11 00:16:28 | 显示全部楼层
qetu133 发表于 2016-2-11 00:10
int是64位或者32位,32位最大值是2^32 = 20亿多一点,电脑一秒钟可以执行上百亿次,所以这个program在32 ...

您好,请问这种题目应该看什么书去准备啊,感觉leetcode并没有涵盖这方面的题
回复 支持 反对

使用道具 举报

echo33 发表于 2016-2-11 00:58:10 | 显示全部楼层
qetu133 发表于 2016-2-11 00:10
int是64位或者32位,32位最大值是2^32 = 20亿多一点,电脑一秒钟可以执行上百亿次,所以这个program在32 ...
. From 1point 3acres bbs
zan~~~duoxie~~!
回复 支持 反对

使用道具 举报

 楼主| EasonS 发表于 2016-2-11 01:06:23 | 显示全部楼层
qetu133 发表于 2016-2-11 00:10
int是64位或者32位,32位最大值是2^32 = 20亿多一点,电脑一秒钟可以执行上百亿次,所以这个program在32 ...

你的思路和作风好厉害 但是我问interviewer这是死循环、int也有个limit 对方回答木有关系 let's pretend... 他还介绍了两句big integer类。。。。反正。。
Mobile Apps Category (English)728x90
回复 支持 反对

使用道具 举报

 楼主| EasonS 发表于 2016-2-11 02:05:52 | 显示全部楼层
在网上看到了如下enumerator的做法, 简直欺负我读书少,,引用:resource. more info on 1point3acres

How can we have an enumeration for all possible pairs of natural numbers, such
as [0,0] [3,7] [98,1153] [3,0] [0,1] [2,1] [75,34] ....?
Cantor's enumeration works by first producing all pairs where the sum of the. Waral 博客有更多文章,
parts is zero ([0,0]) then producing all pairs where the sum of the parts is
1 ([0,1] [1,0]) then all pairs with a sum of 2 ([0,2] [1,1] [2,0]) then the
threes ([0,3] [1,2] [2,1] [3,0]) and so on and so on. Any possible cair you.留学论坛-一亩-三分地
care to mention will obviously eventually be reached (the sum of its parts
gives you an idea of how long it will take), and clearly no pair can be produced-google 1point3acres
twice. It works like this

   struct Enumerate_Pairs
   { Enumerate_Natural_Numbers enum_sum;
     Enumerate_Natural_Numbers enum_first;
     string sum, first, second, zero;

     Enumerate_Pairs(). more info on 1point3acres
     { sum = enum_sum.next();
       zero = sum;
       first = enum_first.next();
       second = sum; }

     more(). 一亩-三分-地,独家发布
     { return true; }

     next()
     { string answer = "[";
       answer = answer + first + "," + second + "]";
       if (second == zero)
       { sum = enum_sum.next();
         enum_first.reset();
         first = enum_first.next();
         second = sum; }
       else
       { first = enum_first.next();
         second = Enumerate_Natural_Numbers::previous(second); }
       return answer; } };
. 1point 3acres 论坛
Notice that the two internal enumerators for natural numbers could be replaced
by any other enumerators and it would still work in the same way. That's why the
slightly mystifying variable "zero" is used - it captures the first thing ever.本文原创自1point3acres论坛
to come out of an enumerator, so it can serve as the equivalent of "0" for any
set. We can enumerate all possible pairings of C++ programs with data files,
we could even make pairs out of pairs of things, giving lists of any length.
回复 支持 反对

使用道具 举报

 楼主| EasonS 发表于 2016-2-11 02:12:49 | 显示全部楼层
其实我觉得g家面我一刚毕业本科应该不会考这种“知识储备” (也可能我见的题目太少/学的太少) 所以我当时确定这题没见过的时候 也确定了要展示出自己get things done的能力 和交流讨论的能力 所以希望没有正确答案 希望能过,,
回复 支持 反对

使用道具 举报

 楼主| EasonS 发表于 2016-2-27 04:11:26 | 显示全部楼层
楼主过啦 春假去onsite
回复 支持 反对

使用道具 举报

bobzhang2004 发表于 2016-3-5 12:02:33 | 显示全部楼层
qetu133 发表于 2016-2-11 00:10
int是64位或者32位,32位最大值是2^32 = 20亿多一点,电脑一秒钟可以执行上百亿次,所以这个program在32 ...
. Waral 博客有更多文章,
请问写成code是什么样?
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2018-5-24 12:30

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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