l**********i 发帖数: 84 | 1 面了1小时15分,前几题感觉不错,结果被问到tcp vs udp的时候根本不知道是啥玩意
儿,估计是悲催了。哎,题目如下:
1.Can you talk a little about yourself first?
2.Why do you choose p?
3.Difference between linkedlist and array
4.In what condition do you use tree structure? How do you keep them balanced?
5.TCP protocol vs UDP protocol (have no idea)
6.How do you implement a hash table?
following up question:
Data structure; size; hashfunction; linkedlist vs hashtable in dealing with
collision
7.coding
print spiral matrix
Given a matrix of m x n elem... 阅读全帖 |
|
f**********e 发帖数: 288 | 2 题目现场做,会很有压力。 楼主拍拍。
public static String getStep(String movieName){
int curCol = 0, curRow = 0;
StringBuffer buffer = new StringBuffer();
for(int i = 0; i < movieName.length(); i++){
if(i > 0 && movieName.charAt(i-1) == movieName.charAt(i)){
buffer.append("!");
} else {
int nextRow = (movieName.charAt(i) - 'a') / 5, nextCol = (
movieName.charAt(i) - 'a') % 5;
// moving col
String moving... 阅读全帖 |
|
s********o 发帖数: 493 | 3 抛砖引玉. 这题其实不算新题
一上来直接code,找小偷问题,有n个房间,其中一个房间有小偷。早上我们
可以打开一个房间的门看小偷在不在里面,晚上小偷会向左边或者右边的房间走。
现在给你一个开门的sequence,你输出这个sequence能不能保证找到小偷。
比如:如果只有三个房间那么如果打开房间的sequence是{1,1}那么一定会找到小偷。
因为如果小偷在中间那么第一天就会被找到,如果小偷在两边那么第二天一定回来
到中间也会被找到。房间数为n,sequence长度为k
跟着我开始brute force假设小偷在某个房间然后dfs所有路径,大概是O(n*n^k)。
考官说好,如果考虑cut branch呢?跟着我就说可以拿一个n*k的matrix跟着根据
sequence来cut branch,reduce到O(n*n*k)。他说有没有可能同时从所有房间
开始呢?我说可以跟着直接在那个n*kmatrix上做一个类似dp的东西。跟着reduce 到
O(n*k)。他说有没有可能把space reduce呢?我说可以我只要O(n)的space
跟着他就让我再写一个叫nextRow的f... 阅读全帖 |
|
f*******t 发帖数: 7549 | 4 1.row key是byte[],不管你里面想写什么,最终都要转成它。
2.可以,scan.setStartRow(),scan.setStopRow()
3.hbase以及所有BigTable衍生数据库性能最差的操作是random get,二分查找一个
keyvalue复杂度是O(logN)。数据大了hbase的block cache效率还是不够高。实际应用
中请尽量多使用scan,避免random get,实在不行可能得上memcache和其它优化。另外
hbase会对邻近的数据编码以节省存储空间,random get在读取每个keyvalue的时候都
要解码整个block,性能损失很大。
4和5是同一个问题。每个client的htable.multiput会把不同region的数据分开提交给
对应的服务器。这样如果有多个client,各服务器的负载更平均,对hbase cluster的
整体性能肯定有帮助。
6.你想问的是分成很多个小段的scan吗?scan的时候server会对每个client生成
scanner object,读取的时候互相之间可能有lock contenti... 阅读全帖 |
|