传说中的谷歌招聘委员会成员之一,从幕后走出来,教你学系统设计!


一亩三分地论坛

 找回密码
 获取更多干活,快来注册
天天打游戏、照样领工资、还办H1B
这份工作你要不要?
把贵司招聘信息放这里
查看: 1801|回复: 13
收起左侧

亚麻onsite面经,继续攒人品

[复制链接] |试试Instant~ |关注本帖
alex2013 发表于 2015-1-12 09:11:34 | 显示全部楼层 |阅读模式

2013(10-12月) 码农类 硕士 全职@Amazon - 内推 - Onsite |Pass

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

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

x
继续发面经攒人品,由于他们schedule错误导致少面了一轮,所以只有三轮。.鐣欏璁哄潧-涓浜-涓夊垎鍦

1, given a string, output character and frequency in decreasing order of frequency (ignore other chars that's not letter). 1point3acres.com/bbs
input: "Aab s."
output:
a:2
b:1. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
s:1
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
2D matrix with only 1 and 0, continuous 1 means island, count the number of island
. 鍥磋鎴戜滑@1point 3 acres
2,
project; goal that you spend long time to achieve
design elevator system

3,.鏈枃鍘熷垱鑷1point3acres璁哄潧
design data structure that have two methods: check_in, check_out

e.g:
check_out - output 1
check_out - 2
... (7 times check_out)
check_out - 10. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
check_in(2)
check_in(7)
check_out - 2
check_out - 7
check_out - 11

补充内容 (2015-1-12 09:35):.鏈枃鍘熷垱鑷1point3acres璁哄潧
不好意思写错了,是2014年
kiviljc 发表于 2015-1-12 09:27:28 | 显示全部楼层
2013 年的面经?
回复 支持 反对

使用道具 举报

 楼主| alex2013 发表于 2015-1-12 09:35:52 | 显示全部楼层

写错。。又不能改。。是2014年的
回复 支持 反对

使用道具 举报

angle22 发表于 2015-1-12 11:07:19 | 显示全部楼层
多谢分享,请问最后一道题什么意思,没有check-in就可以check out吗?
还有elevator design,网上找了很多,没有什么完整的版本。楼主有的话能分享一下吗?多谢 :)

bless you get offer!
回复 支持 反对

使用道具 举报

三吉 发表于 2015-1-13 01:24:57 | 显示全部楼层
第一题是怎么做的呢?放到map里吗,但是如何对value排序呢
回复 支持 反对

使用道具 举报

cgdong2012 发表于 2015-1-13 02:44:55 | 显示全部楼层
同求 elevator design 的思路, 不知道怎么来考虑。. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
还有 第一题那个输出字符和频率的题, 要求时间复杂度是 O(n)吗?
回复 支持 反对

使用道具 举报

刁哥 发表于 2015-1-13 04:28:32 | 显示全部楼层
请问LZ onsite后多久得到消息?
回复 支持 反对

使用道具 举报

nathanwong 发表于 2015-1-14 16:24:23 | 显示全部楼层
最后一题我着实 没看懂 lz 能否再详细点
回复 支持 反对

使用道具 举报

 楼主| alex2013 发表于 2015-1-15 11:28:23 | 显示全部楼层
angle22 发表于 2015-1-12 11:07
多谢分享,请问最后一道题什么意思,没有check-in就可以check out吗?. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴
还有elevator design,网上找了很多 ...
. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
就是相当于一个装有integer的pool,check out就顺序输出里面已有的数字,check in就是放入数字。
elevator design网上找了些,然后自己写了一点,基本就是要有bank和car这个类,再加上一个enum表示状态吧:
Design elevator system
An elevator class. The elevator will save the floor information and current floor number. Then judge the current floor number and the number which it will go (from the user operation), and choose to go up or go down.
http://www.careercup.com/question?id=1808669
First there is an elevator class. It has a direction (up, down, stand, maintenance), a current floor and a list of floor requests sorted in the direction. It receives request from this elevator.
Then there is a bank. It contains the elevators and receives the requests from the floors. These are scheduled to all active elevators (not in maintenance).
The scheduling will be like:
if available pick a standing elevator for this floor..1point3acres缃
else pick an elevator moving to this floor.
else pick a standing elevator on an other floor.
else pick the elevator with the lowest load.
Each elevator has a set of states.
Maintenance: the elevator does not react to external signals (only to its own signals).
Stand: the elevator is fixed on a floor. If it receives a call. And the elevator is on that floor, the doors open. If it is on another floor, it moves in that direction.
Up: the elevator moves up. Each time it reaches a floor, it checks if it needs to stop. If so it stops and opens the doors. It waits for a certain amount of time and closes the door (unless someting is moving through them. Then it removes the floor from the request list and checks if there is another request. If so the elevator starts moving again. If not it enters the state stand.
Down: like up but in reverse direction..1point3acres缃
enum State {Standing, Up, Down};

class Car {
     private List<Integer> requests;
     private int floor;. 1point 3acres 璁哄潧
     private State state;

     public void addRequest(int floor);
     public int getFloor();
     public void move();
     public State getState();
}. 鍥磋鎴戜滑@1point 3 acres

class Bank {
     private List<Car> cars;
. from: 1point3acres.com/bbs
     public void request(int floor) {. from: 1point3acres.com/bbs
          boolean isPicked = false;. 1point3acres.com/bbs
          Car standCar = null;. more info on 1point3acres.com
          int standMin = Integer.MAX_VALUE;-google 1point3acres
          Car moveToCar = null;
          int moveToMin = Integer.MAX_VALUE;
          Car moveAwayCar = null;
          int moveAwayMin = Integer.MAX_VALUE;

          for (Car car : cars) {
               if (car.getState() == State.Stand) {
                    if (car.getFloor() == floor) {. Waral 鍗氬鏈夋洿澶氭枃绔,
                         car.addRequest(floor);
                         isPicked = true;-google 1point3acres
                         break;
                    }
                    standCar = Math.abs(car.getFloor() - floor) < standMin ? car : standCar;
.鏈枃鍘熷垱鑷1point3acres璁哄潧               } else {. Waral 鍗氬鏈夋洿澶氭枃绔,
                    if ((car.getState() == State.Up && car.getFloor() < floor) ||
                              (car.getState() == State.Down && car.getFloor() > floor)) {
                         moveToCar = Math.abs(car.getFloor() - floor) < moveToMin ? car : moveToCar;
                    } else {
                         moveAwayCar = Math.abs(car.getFloor() - floor) < moveAwayMin ? car : moveAwayCar;. visit 1point3acres.com for more.
                    }. 1point 3acres 璁哄潧
               }
          }

          if (!isPicked) {
               if (moveToCar != null) {
                    moveToCar.addRequest(floor);
               } else if (standCar != null) {
                    standCar.addRequest(floor);. 鍥磋鎴戜滑@1point 3 acres
               } else {. 鍥磋鎴戜滑@1point 3 acres
                    moveAwayCar.addRequest(floor);
               }
          }
     }
}
回复 支持 反对

使用道具 举报

 楼主| alex2013 发表于 2015-1-15 11:29:48 | 显示全部楼层
三吉 发表于 2015-1-13 01:24
第一题是怎么做的呢?放到map里吗,但是如何对value排序呢

我当时就是输出到linkedlist里面然后再sort的,后来跟他说其实新建一个class来代表,放进list里面用Collections.sort会更简洁
回复 支持 反对

使用道具 举报

 楼主| alex2013 发表于 2015-1-15 11:30:07 | 显示全部楼层
cgdong2012 发表于 2015-1-13 02:44. Waral 鍗氬鏈夋洿澶氭枃绔,
同求 elevator design 的思路, 不知道怎么来考虑。
还有 第一题那个输出字符和频率的题, 要求时间复杂度 ...
. more info on 1point3acres.com
见之前回复,字数字数
回复 支持 反对

使用道具 举报

 楼主| alex2013 发表于 2015-1-15 11:30:33 | 显示全部楼层
刁哥 发表于 2015-1-13 04:28.鏈枃鍘熷垱鑷1point3acres璁哄潧
请问LZ onsite后多久得到消息?

大概一周,字数字数
回复 支持 反对

使用道具 举报

 楼主| alex2013 发表于 2015-1-15 11:30:41 | 显示全部楼层
nathanwong 发表于 2015-1-14 16:24
最后一题我着实 没看懂 lz 能否再详细点

. 鍥磋鎴戜滑@1point 3 acres见之前回复,字数字数
回复 支持 反对

使用道具 举报

nathanwong 发表于 2015-1-15 15:19:51 | 显示全部楼层
alex2013 发表于 2015-1-15 11:30
见之前回复,字数字数

lz,如果没理解错,应该是用个单链表吧。多谢回复
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-9-22 14:40

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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