《数据科学面试40+真题讲解》,K神本年度最后一次开课


一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
码农求职神器Triplebyte:
不用海投,内推你去多家公司面试
Airbnb 数据科学职位
in analytics and inference
天天打游戏、照样领工资,
你要不要来?
把贵司招聘信息放这里
查看: 1853|回复: 13
收起左侧

亚麻onsite面经,继续攒人品

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

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

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

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

x
继续发面经攒人品,由于他们schedule错误导致少面了一轮,所以只有三轮。
. visit 1point3acres.com for more.
1, given a string, output character and frequency in decreasing order of frequency (ignore other chars that's not letter)
input: "Aab s."-google 1point3acres
output:
a:2
b:1
s:1

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
.1point3acres缃
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.1point3acres缃
check_out - 11

补充内容 (2015-1-12 09:35):. from: 1point3acres.com/bbs
不好意思写错了,是2014年
kiviljc 发表于 2015-1-12 09:27:28 | 显示全部楼层
2013 年的面经?
回复 支持 反对

使用道具 举报

 楼主| alex2013 发表于 2015-1-12 09:35:52 | 显示全部楼层
kiviljc 发表于 2015-1-12 09:27. 1point 3acres 璁哄潧
2013 年的面经?

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

使用道具 举报

angle22 发表于 2015-1-12 11:07:19 | 显示全部楼层
多谢分享,请问最后一道题什么意思,没有check-in就可以check out吗?.鏈枃鍘熷垱鑷1point3acres璁哄潧
还有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吗?-google 1point3acres
还有elevator design,网上找了很多 ...
.鐣欏璁哄潧-涓浜-涓夊垎鍦
就是相当于一个装有integer的pool,check out就顺序输出里面已有的数字,check in就是放入数字。. 1point3acres.com/bbs
elevator design网上找了些,然后自己写了一点,基本就是要有bank和car这个类,再加上一个enum表示状态吧:. more info on 1point3acres.com
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:. visit 1point3acres.com for more.
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.
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};

class Car {
     private List<Integer> requests;
     private int floor;
     private State state;

     public void addRequest(int floor);
     public int getFloor();-google 1point3acres
     public void move();. From 1point 3acres bbs
     public State getState();
}
. 鐣欏鐢宠璁哄潧-涓浜╀笁鍒嗗湴
class Bank {
     private List<Car> cars;. From 1point 3acres bbs

     public void request(int floor) {. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷
          boolean isPicked = false;
          Car standCar = null;
          int standMin = Integer.MAX_VALUE;
          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) {.1point3acres缃
                         car.addRequest(floor);. 1point 3acres 璁哄潧
                         isPicked = true;
                         break;
                    }
                    standCar = Math.abs(car.getFloor() - floor) < standMin ? car : standCar;
               } 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;-google 1point3acres
                    }
-google 1point3acres               }
          }. 涓浜-涓夊垎-鍦帮紝鐙鍙戝竷

          if (!isPicked) {
               if (moveToCar != null) {
                    moveToCar.addRequest(floor);
               } else if (standCar != null) {
                    standCar.addRequest(floor);
               } else {
                    moveAwayCar.addRequest(floor);.鏈枃鍘熷垱鑷1point3acres璁哄潧
               }
          }.鏈枃鍘熷垱鑷1point3acres璁哄潧
     }. from: 1point3acres.com/bbs
}. visit 1point3acres.com for more.
回复 支持 反对

使用道具 举报

 楼主| 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
同求 elevator design 的思路, 不知道怎么来考虑。
还有 第一题那个输出字符和频率的题, 要求时间复杂度 ...
. 1point 3acres 璁哄潧
见之前回复,字数字数
回复 支持 反对

使用道具 举报

 楼主| alex2013 发表于 2015-1-15 11:30:33 | 显示全部楼层
刁哥 发表于 2015-1-13 04:28
请问LZ onsite后多久得到消息?
. 鍥磋鎴戜滑@1point 3 acres
大概一周,字数字数
回复 支持 反对

使用道具 举报

 楼主| 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,如果没理解错,应该是用个单链表吧。多谢回复
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

custom counter

GMT+8, 2017-11-20 02:13

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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