zoukankan      html  css  js  c++  java
  • 春招实习面经(已拿阿里/腾讯/亚马逊)

    背景;本硕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该看的书都看了

    算法该融的模型也融了

    只想证明

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

     

     

     

     

     

     

  • 相关阅读:
    jquery基础认知
    CentOS6.5下samba服务
    [转载]二叉树查找
    更好的理解索引
    【转载】数据库表空间
    [转载]数据库对象
    数据库schema的简介
    [转载]oracle物化视图
    oracle物化视图
    [转载]oracle位图索引
  • 原文地址:https://www.cnblogs.com/xiaoyingying/p/10950232.html
Copyright © 2011-2022 走看看