春招实习面经(已拿阿里/腾讯/亚马逊)

背景;本硕985,女,研一头条实习三个月,有比赛(主要是网络模型+模型融合)类。

投的JAVA开发。

项目基本都是讲的实习的项目,比赛很少问到。

 

网易/爱奇艺挂(面经在最后)

有且仅有阿里/腾讯/携程/亚马逊

 

阿里一面

1.enum构造方法 是公共还是私有的。

2.lombok底层实现 怎么实现注解。

3.hashtable/hashmap/concurrenthashmap ,最后还问了concurrenthashmap 1.8底层实现是什么?我说红黑树,他说了解吗?然后问了一下归并排序。

3.Spring流程,我说了注解怎么导入compenent/compentscan/import,解决bean重复,然后说了Spring初始化很慢

4.单元测试怎么实现 

我说mock,他说怎么看结果一致,我说断言。然后他又说一个类很多方法,测应该分开测,还是可以一起测。我说没有耦合,一起测,测通了就行吧。他叫我分开测试。

5.jvm分区 

我说了新生代/老年代为什么要这么分?新生代用复制,老年代用标记-清理/标记-整理。

又为什么是8:1:1的思想?所以收集器搭配使用。但是现在g1收集器已经不一样了。没有区别对待新/

6.设计模式的基本原则 

我不会,我讲了三个工厂的区别,优缺点。

7.红黑树和二叉搜索树 

他想问为什么concurrenthashmap底层为什么要红黑树。

8.数据库分页查询。要我从10000数据里面,每页查10个出来。

我不会 我说limit肯定要用,但是分页不清楚

9.数据库索引 

从有a,b,c,d,e,f7个字段的地方查询出a=x and b=y and c=z

后来查了好想要组合查询吧

10.linkedlist他叫我多看看

 

 

阿里二面 没有撕代码,整个过程快问快答。25分钟。喜欢跳跃很大。不问实习。怼基础。只问一个点,一定要自己扩展,不然就知道下一个问题了。

1.NIO,阻塞非阻塞,同步异步

2.hashMap怎么线程不安全,把hashMap/hashtable/concurrenthashmap讲了一遍。

3.数据库底层实现。(B+树)他本来问的引擎,后来也没问了。还问了最左前缀

4.本来说jvm内存模型。堆栈。

5.线程和进程,谷歌浏览区打开不同的窗口是进程还是线程?

6.Spring创建的单例还是多例?这个看需求吧

7.你的职业规划

8.你的毕业论文写啥

 

阿里二面加面

两道题,手写代码

二分查找。我加了流式编程和函数式编程

实现一个map,可以根据key value,也可以根据valuekey,如果有多个key,返回这个key组成的list

 

 

阿里Hr 30min,女,比较和蔼

项目?主要体现项目怎么解决问题/思考问题

我平时自己会总结,阿里项目会做复盘-》价值观匹配

有没有男朋友

还考虑上家公司吗,实习感受

你为什么要来阿里呢

你父母支持你来杭州吗

 

阿里交叉面45min,不撕代码

jvm怎么看出现死锁了吗?

jvm常用的指令

Linux —help。查负载均衡

Hashmap

项目

最难过的事情

索引,索引怎么优化

线程池

乐观锁

sql语句,口述就行

语言差异怎么办?

你论文发了吗?研究生做的什么方向?

 

 

 

阿里分到的杭州菜鸟部门,面试官很好,挽留了很久,但是人生方向不一致。希望菜鸟早日上市,面试官早日发财!!!

 

腾讯一面 1h写代码+半小时对话 前面是打字面试,我第一次见识到打字面试!!!!!

代码题1:大文件排序,我马上说了思想他又给我换题;感觉以后如果有思路建议藏2分钟再答,没有思考的过程他会怀疑你见过,然后换题?

代码题2:交换两数组的元素,使得两数组和之差最小?

我想的是把两数组揉在一起排序,然后从头分发,但是这个只适合出现负数的情况

负数没做出来很遗憾

 

问题:

项目,重思路解决问题的能力

spark shuffle + groupbykey/reducebykey

Http1.0/1.1/2/3

 

压力面

你领导对你有意见,你怎么办?

 

其他:

语言差异怎么办?

 

腾讯二面

30分钟,视频,不写代码

项目

 

你想做机器学习还是说工程,他们那边这两个没有严格的区别,你也谈了为什么现在要这

分开,因为能落地还是很重要的。我说看需求吧

问了一下他们的语言,python/C++

 

 

腾讯效率高,两面之间只隔1天;阿里前前后后40多天,然后会HR面完突然又加面,面试体验并不好

4.23 腾讯HR

项目

1.家里人支持来北京吗

2.女生很多后来转产品,你是怎么想的

3.你怎么评价你的上司

4.你的兴趣爱好

5.你男朋友哪个公司?外企和国厂的区别,有了解吗

6.她说:腾讯转正率低!!!!!!

7.最困难的事情

8.用三个词评价你自己

 

 腾讯分到的北京地图,面试官人很好,最后拒绝了也挽留了很久。

 

4.23

携程现场面 只有一面

1.项目

2.线程池

3.arraylist删除奇数位置的元素,思路

4.反转链表,手写

5.反转链表每K

6.两个数组,找出共同的元素。分别给了时间复制度o(n)+空间复杂度o(N),他不要辅助空间,又给优化成了时间复杂度o(nlogn)

7.两个数组,每个数组出一个元素,求和,求得到的和最小的K,需要优化笛卡尔积

8.Arrays.sort(list)底层是什么,快排和归并的区别?

 

上海部门,感觉不错,携程没有社招,全是应届生补充新鲜血液,感觉后期如果能分到股票期权也很好。

 

4.23

1.链表的中间结点

2.一个人怎么买票最划算?给出日票/周票/月票价格。给出一个人出行的日期

3.给一个四个数的数组,返回合法的时间。

 

 

5.15

amazon 

1.项目

2.用一个数组实现最大栈

 

项目

1.全排列“123”-123/132/213/231/312/321

2.把最后的K个链表结点放到前面去

1-2-3-4-5 2

4-5-1-2-3

 

下面是凉经。

 

网易一面 26岁的程序员,目测工作两三年,面了半小时,写了一小时代码,不问实习,怼基础+撕代码

1.集合包有哪些?然后就是hashMap/hashtable/concurrenthashmap

2.tcp三次握手,为什么三次呀?

3.数据库索引,底层b+树?b树和B+树有哪些应用场景,这个不会。

4.层次遍历树

5.链表的公共结点

6.synchronized/lock锁,你知道现在synchronized升级了吗???(我真不知道)

7.你输入一个网址,发生了什么事情。(结合自己搭的网站讲的)

 

网易二面

全程50分钟,面试官巨帅!!!!!

项目

场景题:两台电脑各有一个相同的文件。现在有个电脑对文件某个字符进行了修改。请设计自己的通信协议。找到这个字符。

 

我建议他直接用git clone就行了。

他说要算法,最复杂的就是一个个比对。

我和他说,我们先算一半,求个和,比对一下,是一样的,diff肯定在另外一半。

 

我以为就这么结束了,他叫我来写一下。我说,要不给个接口吧,老哥。他说,你先写吧

于是,我写了这个。/*

    find the diff character between 2 strings,return diff character

    string s1, String s2

    return: character

*/

public static char findDiff(String s1, String s2) {

 

    int length1 = s1.length();

    int length2 = s2.length();

    

    if(length1 == 1 && length2 == 1) {

        return s2;

    }

    int sum1 = 0;

    int sum2 = 0;

    for(int i = 0; i < length1/2;i++) {

        sum1 += s1.charAt(i) - 'a';

        sum2 += s2.charAt(i) - 'a';

         

    }

    

    if(sum1 == sum2 ) {

        String sub1 = s1.subString(length1/2+1, length1);

        String sub2 = s2.subStrong(length1/2+1, length2);

        

        return findDiff(sub1, sub2);

    } else {

        String sub1 = s1.subString(0,length1/2);

        String sub2 = s2.subString(0,length2/2);

        return findDiff(sub1, sub2);

    }

      

}

 

 

他说,希望控制在一个电脑上,于是,我又改了

 

 

 

 

 

 

我一开始忘了最后的退出条件,马上加了。他说好。他又问我,溢出怎么办呀。我说你用hash啊,他问我hash怎么写啊。后来他提供了一种思路,砍掉高位,因为只有低位可能发生变化。

然后就是我来问他问题了。被挂了。反思原因应该是因为最开始的退出条件没写出来被挂掉了。很可惜,而且没有感谢信,过了好久发邮件问HR才知道的。

 

 

 

 

 

 

爱奇艺一面 31分钟,打电话,外面在割草,很吵。。。Java开发

介绍项目

如果有上亿视频的特征,你怎么做处理?

现在有1亿个请求,你怎么设计你的服务器

如果内存泄露,怎么查?

 

 

 总结,完成了这两年的梦想,很不容易。

去年在北京,每天通勤两个小时,日常挤地铁。

leetcode现在已经做了350题,剑指三遍。

JAVA该看的书都看了

算法该融的模型也融了

只想证明

女孩子,也可以当程序员!!!

 

 

 

 

 

 

posted on 2019-05-30 16:15  小嘤嘤  阅读(766)  评论(0编辑  收藏  举报

导航