一亩三分地论坛

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

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

Amazon Intern 2/2面经

[复制链接] |试试Instant~ |关注本帖
22checknow 发表于 2016-2-3 07:18:13 | 显示全部楼层 |阅读模式

2016(1-3月) 码农类 硕士 实习@Amazon - 内推 - 技术电面 |Otherfresh grad应届毕业生

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

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

x
刚刚面完。。。写个面经攒人品。。。今天看了一个下午的面经都没有见到过。。。. more info on 1point3acres.com

有一个新的numbering system,他的每一位数字的表示是0-z(和16进制差不多。。。不过是一直下去到z的),需要设计一个class来实现这个这个numbering system,然后特别要求了实现这个numbering system的加法。本来想的是把每一个string转换成int储存在class里,但是写了一些以后突然想到了int会overflow,然后就马上改成用string来表示每一个数。之后就是实现用对两个string的每一个char进行加法最后得到一个新的string再把它变成这个class的一个instance。

实现的时候要求要写constructor,然后如果有什么不对的情况要抛exception,然后返回值需要是这个class的一个instance。。。
鏉ユ簮涓浜.涓夊垎鍦拌鍧.
其实现在想想这道题如果说成是两个string相加的话挺简单的。。。只是突然发现会overflow以后慌了然后就比较紧张。。。只做了这样一题就到时间了。。。另外就是要把整个东西写成一个class还是挺花时间的。。。唉。。。希望还是能够有offer吧。。。

评分

2

查看全部评分

本帖被以下淘专辑推荐:

leilater 发表于 2016-2-4 00:22:33 | 显示全部楼层
  1. static int map[256];
  2. class Number {
  3. public:
  4.         Number() {};
  5.         Number(string input) throw (invalid_argument) {
  6.                 for (int i = 0; i < input.length(); i++) {
  7.                         if ((input[i] >= '0' && input[i] <= '9') ||
  8.                                 (input[i] >= 'a' && input[i] <= 'z')) {
  9.                                 num.push_back(input[i]);
  10.                         }
  11.                         else {
  12.                                 throw invalid_argument("Invalid input!");
  13.                         }
  14.                 }. more info on 1point3acres.com
  15.                 num = input;
  16.         }
  17.         string GetNum() {
  18.                 return num;
  19.         }
  20.         Number operator + (const Number& input) {. 鍥磋鎴戜滑@1point 3 acres
  21.                 string str1 = num;
  22.                 string str2 = input.num;
  23.                 reverse(str1.begin(), str1.end());
  24.                 reverse(str2.begin(), str2.end());
  25.                 auto num1 = str1.begin();
  26.                 auto num2 = str2.begin();
  27.                 string ret;
  28.                 int carry = 0;
  29.                 //add numbers
  30.                 while (num1 != str1.end() || num2 != str2.end()) {
  31.                         int a = num1 != str1.end() ? map[*num1] : 0;. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
  32.                         int b = num2 != str2.end() ? map[*num2] : 0;
  33.                         int digit = (a + b + carry) % 36;
  34.                         ret.push_back((char)map[digit]);.1point3acres缃
  35.                         carry = (a + b + carry) / 36;
  36.                         if (num1 != str1.end()) num1++;
  37.                         if (num2 != str2.end()) num2++;.1point3acres缃
  38.                 }.1point3acres缃
  39.                 if (carry == 1) {
  40.                         ret.push_back('1');
  41.                 }
  42.                 reverse(ret.begin(), ret.end());
  43.                 return Number(ret);
  44.         }        -google 1point3acres
  45. private:
  46.         string num; //0~9, a~z       
  47. };
  48. void initMap() {
  49.         for (char c = '0'; c <= '9'; c++) {
  50.                 map[c]  = c - '0';-google 1point3acres
  51.                 map[c - '0'] = c;. 1point3acres.com/bbs
  52.         }
  53.         int i = 10;
  54.         for (char c = 'a'; c <= 'z'; c++) {
  55.                 map[c] = i;
  56.                 map[i] = c;
  57.                 i++;
  58.         }
  59. }
复制代码


请问是类似这样的吗?

补充内容 (2016-2-4 00:29):
没有line 15
回复 支持 1 反对 0

使用道具 举报

leodonna0725 发表于 2016-2-3 07:43:14 | 显示全部楼层
我也是下午面的!估计我面这个就跪了
回复 支持 反对

使用道具 举报

香菇酱 发表于 2016-2-3 08:07:17 | 显示全部楼层
这个真是。。。。难啊 = = 撸主厉害了 肯定有offer
回复 支持 反对

使用道具 举报

gjxwin 发表于 2016-2-3 08:11:29 | 显示全部楼层
类似于BigInteger,只不过10进制变成26进制了?
回复 支持 反对

使用道具 举报

 楼主| 22checknow 发表于 2016-2-3 11:37:57 | 显示全部楼层
gjxwin 发表于 2016-2-3 08:11
类似于BigInteger,只不过10进制变成26进制了?

对的!不过其实是36进制。。。除了a-z还有0-9。。。我觉得考的可能更多是像两个linked list,每个node表示一个digit,然后把两个linked list的数相加,总的思路应该和那题应该差不多。。。还好只让写加法。。。如果乘法估计就真的跪了。。。
回复 支持 反对

使用道具 举报

 楼主| 22checknow 发表于 2016-2-3 11:40:09 | 显示全部楼层
leodonna0725 发表于 2016-2-3 07:43
我也是下午面的!估计我面这个就跪了

刚听到说要写一个class的时候我还以为是oo design。。。结果发现这题这么坑。。。唉本来还希望亚马逊的面试能水一些的。。。
回复 支持 反对

使用道具 举报

 楼主| 22checknow 发表于 2016-2-3 11:40:44 | 显示全部楼层
香菇酱 发表于 2016-2-3 08:07
这个真是。。。。难啊 = = 撸主厉害了 肯定有offer

看了一下午的面经完全没想到被考了题这样的题。。。希望能有offer吧~
回复 支持 反对

使用道具 举报

 楼主| 22checknow 发表于 2016-2-4 00:26:03 | 显示全部楼层
leilater 发表于 2016-2-4 00:22
请问是类似这样的吗?

对的~
字数字数字数~
回复 支持 反对

使用道具 举报

shiyn123 发表于 2016-2-4 00:37:18 | 显示全部楼层
啊所以果然是妹子的题更简单吗。。。
回复 支持 反对

使用道具 举报

leilater 发表于 2016-2-4 00:44:41 | 显示全部楼层
22checknow 发表于 2016-2-4 00:26.鏈枃鍘熷垱鑷1point3acres璁哄潧
对的~. Waral 鍗氬鏈夋洿澶氭枃绔,
字数字数字数~

祝早日拿到offer,这个exception平时不写的话还真不好现场写出来。。。
回复 支持 反对

使用道具 举报

 楼主| 22checknow 发表于 2016-2-4 03:42:32 | 显示全部楼层
leilater 发表于 2016-2-4 00:44. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
祝早日拿到offer,这个exception平时不写的话还真不好现场写出来。。。

谢谢~我当时说可以异常的时候抛出exception然后问说能不能我这里就不写了。。。面试官说不行我就是要你写这里。。。感觉略坑。。。
回复 支持 反对

使用道具 举报

 楼主| 22checknow 发表于 2016-2-4 03:43:11 | 显示全部楼层
shiyn123 发表于 2016-2-4 00:37. from: 1point3acres.com/bbs
啊所以果然是妹子的题更简单吗。。。

我觉得有可能~
回复 支持 反对

使用道具 举报

shiyn123 发表于 2016-2-4 04:27:23 | 显示全部楼层

楼主收到offer求告知
回复 支持 反对

使用道具 举报

 楼主| 22checknow 发表于 2016-2-4 05:14:20 | 显示全部楼层
shiyn123 发表于 2016-2-4 04:27
楼主收到offer求告知

好的~借你吉言~
回复 支持 反对

使用道具 举报

 楼主| 22checknow 发表于 2016-2-5 13:33:20 | 显示全部楼层
shiyn123 发表于 2016-2-4 04:27
楼主收到offer求告知

已被拒。。。
回复 支持 反对

使用道具 举报

JunoJ 发表于 2016-2-5 15:04:48 | 显示全部楼层

patpat 楼主什么时候收到结果的
回复 支持 反对

使用道具 举报

 楼主| 22checknow 发表于 2016-2-5 15:05:34 | 显示全部楼层
JunoJ 发表于 2016-2-5 15:04. visit 1point3acres.com for more.
patpat 楼主什么时候收到结果的
.1point3acres缃
两个小时以前。。。
回复 支持 反对

使用道具 举报

leodonna0725 发表于 2016-2-5 15:08:11 | 显示全部楼层
楼主你面试的时候是二号下午两点嘛?
回复 支持 反对

使用道具 举报

 楼主| 22checknow 发表于 2016-2-5 15:08:47 | 显示全部楼层
leodonna0725 发表于 2016-2-5 15:08
楼主你面试的时候是二号下午两点嘛?

对的~美东时间下午五点~
回复 支持 反对

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-7 16:44

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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