一亩三分地论坛

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

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

亚麻onsite面经,继续攒人品

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

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

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

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

x
继续发面经攒人品,由于他们schedule错误导致少面了一轮,所以只有三轮。

1, given a string, output character and frequency in decreasing order of frequency (ignore other chars that's not letter)
input: "Aab s."
output:
a:2. From 1point 3acres bbs
b:1
s:1
. from: 1point3acres.com/bbs
2D matrix with only 1 and 0, continuous 1 means island, count the number of island

2,
project; goal that you spend long time to achieve
design elevator system

3,
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):
不好意思写错了,是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吗?.1point3acres缃
还有elevator design,网上找了很多 ...
. visit 1point3acres.com for more.
就是相当于一个装有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..1point3acres缃
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.
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.
. visit 1point3acres.com for more.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.
enum State {Standing, Up, Down}; 鏉ユ簮涓浜.涓夊垎鍦拌鍧.
. From 1point 3acres bbs
class Car {
     private List<Integer> requests;
     private int floor;
     private State state;. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴

     public void addRequest(int floor);
     public int getFloor();
     public void move();.1point3acres缃
     public State getState();
}

class Bank {
     private List<Car> cars;

     public void request(int floor) {. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
          boolean isPicked = false;
          Car standCar = null;
          int standMin = Integer.MAX_VALUE;
          Car moveToCar = null;. Waral 鍗氬鏈夋洿澶氭枃绔,
          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) {
                         car.addRequest(floor);
                         isPicked = true;
鏉ユ簮涓浜.涓夊垎鍦拌鍧.                          break;
                    }
                    standCar = Math.abs(car.getFloor() - floor) < standMin ? car : standCar;. 1point 3acres 璁哄潧
               } else {
                    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;
                    }
               }
          }

          if (!isPicked) {
               if (moveToCar != null) {
                    moveToCar.addRequest(floor);
               } else if (standCar != null) {
                    standCar.addRequest(floor);
               } else {
                    moveAwayCar.addRequest(floor);
               }
          }
     }
}
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

 楼主| alex2013 发表于 2015-1-15 11:30:07 | 显示全部楼层
cgdong2012 发表于 2015-1-13 02:44. from: 1point3acres.com/bbs
同求 elevator design 的思路, 不知道怎么来考虑。
还有 第一题那个输出字符和频率的题, 要求时间复杂度 ...

见之前回复,字数字数
回复 支持 反对

使用道具 举报

 楼主| alex2013 发表于 2015-1-15 11:30:33 | 显示全部楼层
刁哥 发表于 2015-1-13 04:28
请问LZ onsite后多久得到消息?

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

使用道具 举报

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

见之前回复,字数字数
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

本版积分规则

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

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

关闭

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

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

custom counter

GMT+8, 2016-12-8 20:31

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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