oa很简单,就是地里说到的id_rating按照rating排序,楼主用的collections.sort去解决的,需要注意的是hackranker上的test环节,
List<Node>list = new ArrayList<>();
Scanner sc = new Scanner(Sy
stem.in);
while(sc.hasNextInt()){
int id = sc.nextInt();
int rating = sc.nextInt();
Node curr = new Node(id,rating);
list.add(curr);
}
Collections.sort(list,new Comparator<Node>(){
publicint compare(Node n1, Node n2){
returnn1.rating - n2.rating;
}
});
就这么简单
skype电面真的是
ps:吐槽一下这个草稿箱的功能,我都找不到重新编辑的按钮,结果给发粗去了,醉了,上一篇没写完啊
skype
电面,面试官是个希腊人,女博士,问的真的很细啊。这里需要提醒一下大家,你申请的什么组,就会有什么组的人来面你,所以你如果面前端,就好好准备前端的面经,在准备时间有限的前提下,因为楼主这两天刷面经都快吐了,太多了
他们真的很注重communication,问得很细,就是给你个真实的工作场景里的问题,告诉我如果有很多bussiness的很多review,如何高效的找出某些review或者说每天都需要hilight一些好的review,其实我不是很清楚怎么做,按照地里的面经,我就说可以先绑定keywords,然后统计keywords的频率,然后找些template去过滤一下reviews,太长太短的都不要,然后用计算相似度的算法去处理结果,就这样一直讨论了下去,最终止步于如何evaluate你的review结果是好还是不好,他说了两个名词,我都不知道,然后就开始做题了
所以他们家的面试真的是注重解题思路,一些技术细节可以不知道,但是当遇到新的问题的时候,如何能有条理有逻辑清晰的一步一步大化小小化无我觉得是他们看重的,而且往往当你说出一个方案之后,她就会提另外的问题出来,然后在想办法解决,基本都是工作场景中会出现的
coding part倒不是很难
先给你一个review的string,然后问你用什么数据结构去存储关键字和其对应的index
我说那就hashmap呗,scan一下这个string,key=关键字,value=关键字对应的index的list
他说ok
然后紧接着在给了一题,就说现在给你一个phrase,eg:chickenpie
然后如何找到这个关键词出现的index
楼主刚开始想要用backtracking,因为他们家很多题貌似都可以这么做,但是突然脑子一闪,觉得不用这么麻烦,直接两个for-loop就好了,眼角一瞥基友在电脑上打下for-loop,顿感自己应该想对了
于是就写下来了,其实就是拿第一个关键字的index list当中的index和第二个关键字的index逐对儿比较,因为index1+1 = index2就表明找到了这个关键词所在的位置了,然后存下来就好了
但是这期间出现了两个低级错误,反正肯定是挂了,第一个低级错误是,map 名叫wordpostion,我习惯性写成map,这里没编译通过
第二个兼职醉了 str.split(“\\s{1,}”)竟然出现了空指针问题,他给我改成了str.split(““),叫我情何以堪啊妈的,一直用的都好使,再coderpad上竟然编译不通过
醉了