亚马逊AWS面经
2018-02-21 本文已影响0人
王鑫鑫_d516
- 45 min
- 准备工作 以前linked,sync async
-
Princple 讲故事(BQ)
KEYWORD: customer obsession,ownership, simplify,Bias for Action,think bigFreelance
业务逻辑:research solution, task partition, tracking process, deployment
VS co-worker: Implement actual HTTP request on angular VS request, express in long term
VS PM 时间估计:insight of task complexity,refactorize previous components to organize them, visualize UI and logic.实习:
业务逻辑challenge:
A typical story is that:
design of restock request 1 week- 1 month
based on customer's factory need, excel, clicking 2 - 3 times, detail editing
Proposing idea, export grouped by different feature or sorted based on amount of items in long termGeneral 技术challenge:大环境 community,小细节stackoverflow, 熟练practice, play with it
国内:
Contribution: go depth refine mechanism for usibility: error responsive and DB connection pool propose a new project, invent tools for monitor, automata script for deployment, immgration long term save much time
- java background
- encapsulate inheritance polymorphism
- 直接用AWS 的example user order transcation
2 代码 实现细节, static return package
3 QA 准备什么问题
时间:2018-1-10
职位:aws 美国大叔
reverse words 复杂度
要求尽可能time/space efficient
idea 及test case
时间:2018-2-7
职位:内推的亚麻Austin的AWS Marketplace组 SDE
1. ArrayList和LinkedList的比较
2. HashMap的基本操作和时间复杂度
这两个除了理论上的复杂度之外,最好说一下实际中的复杂度,比如hashcode设计得不好时对复杂度的影响
3. print out a binary tree in level order
时间:2018-2-11
职位:AWS phone interview,老中
1道是蠡口 嗣酒
一道是近期面经原题(随便一搜AWS就有)
2017-12-12
设计一个停车场,后面不停的加了一些需求,例如两个入口,两个出口怎么设计, 怎么handle两辆车同时进入的 或同时出来的情况, 用个lock, 把数量lock住,一个一个更新
亚麻 电面
时间:2018-1-6
职位:
要求实现一个关注topic的功能
public interface iSubscriber {
// Subscribes a user to a given topic. visit 1point3acres.com for more.
public void subscribe(Integer userId, String topic);
// Returns all the users who have subscribed to a given topic so far. From 1point 3acres bbs
public List<Integer> getSubscribers(String topic);
}
public class Demo implements iSubscriber{
List<Integer> ids;
HashMap<String, List<Integer>> data;
Demo(){
ids = new ArrayList<Integer>();-google 1point3acres
data = new HashMap<String, List<Integer>>();
}
public void subscribe(Integer userId, String topic){-google 1point3acres
if(topic.isEmpty()){
return;
}
// if is a topic
List<Integer> temp;
if(data.get(topic)!=null){
temp = new ArrayList<Integer>();
}else{
temp = data.get(topic);
}
// if the user is already subscribed
if(!temp.contains(userId)){
temp.add(userId);
}
data.put(topic, temp);
}
public List<Integer> getSubscribers(String topic){
return data.get(topic);
}
}
demo.subscribe(123, "abc")
demo.subscribe(123, "abc")
demo.getSubscribes // verify that it only has 1 userId "123"
demo.subscribe(123, "");
//demo.subscribe(0, "aaaa");. from: 1point3acres.com/bbs
demo.subscribe("1.1", "aaaa");
demo.subscribe(0, 123);
// SQL injection part
demo.subscribe(0, "'; select * from any_table;");
// XSS part
demo.subscribe(0, "'<src=javascript> alert(''); </src>");
Follow up: 如果说topic有几个sub topic,你怎么实现
"Basketball"
"Basketball.Bulls"
"Basketball.Warriors"
"Basketball.Bucks"
"Basketball.Bucks.Middleton"
"Basketball.Bucks.Delly"
1. 输入一个二维矩阵,由0和1组成,每个row开始总是连续的0,可能在某一个index后面又突然全变成了1,输出拥有最多1的row的index。
例如输入为:
[[0, 0, 0],
[0, 1, 1],
[0, 0, 1]]
则输出为:
1
Follow up是输出所有的1最多的row的index,也就是list of index of row
2. OOD,设计一个停车场,写了class的框架和重要methods
3. 问问题
1. Return true if the string is a palindrome or an anagram of palindrome. False otherwise.
anagram的意思是字母的任意组合, "aba" == "aab" == "baa"。
例子:"aba" => true, "aab" => true, "abc" => false
2. Tranform string a to string b with minimum edits/costs.
只能进行add和remove
例子: "aba" -> "abc" => 2(remove a, add c).
亚麻电面
1. 利口 衣领散 解释面向对象里的多态和继承
2. 利口 衣舞衣
举个依据客户反馈改进产品的例子.
2017-6-22
螺旋矩阵
2017-6-28
wordladder2
tech:LC 而思,mysql left join 和 join 区别
BQ: 介绍自己, 介绍相关经历
时间很短,白人小哥人很好
2017-5-26
面试官:一个在五年工作的senior,考了Least Frequent Used, 没有写对。
然后问了cs基础概念:interface vs abstract class, 实际code中用过什么desig pattern, unix command find vs grep