热乎乎的阿里面经,攒人品

作者: 6b440373157d | 来源:发表于2018-03-14 10:17 被阅读4688次

    一面:


    1.自我介绍一下,然后问你最擅长哪一方面(我说虚拟机、集合)

    2.他说HashMap我现在都不敢问了,出过很多笑话,很多人都是背的,自己没办法判断是看的还是背的

    3.简单说下HashMap的get方法实现

    4.HashMap数组的第一个元素存的是什么(我不知道然后他说HashMap可以存'呐亩'吗,我听成能不能存enum,我说可以可以能存Integer,String,enum,然后他说是null,不是enum...)

    5.HashMap和Hashtable的区别(线程安全不安全,能否存null,数组初始化容量,扩容不一样,elements方法hashcode方法)

    6.里面的hashcode有什么区别(HashMap多了和hashcode>>>16的一次异或,这个看过和他扯了好久好久,扯到为什么2的整次幂反正扯了一大堆)

    7.Hashtable在null的处理是怎样的

    8.线程的几种状态(运行阻塞就绪,他说还有其他的吗,我说挂起?,他说线程生命周期什么的)

    9.这些状态之间怎么转换的,哪些方法转换

    10.一个线程连着调用start两次会出现什么情况(这个讨论了好久好久,他说给你设计这个start你怎么处理这种情况,直接懵逼...提示结合那个线程状态机制想下)

    11.多线程这块对哪些熟悉(我吓得瑟瑟发抖,毕竟简历上写的熟悉,但自己几斤几两还是知道的,就是知道synchronized和volatile,ConcurrentHashMap,CopyOnWriteArrayList这些等等...还连忙补了一句,这些并发容器只是了解一点,没看过源码,之前打算看ConcurrentHashMap的源码但是6000行可能会看的一知半解就还没看)

    12.synchronized和lock的区别

    13.由于我说了一般unlock放在finally里面,他就问try后面一定要跟catch吗,我说可以不跟finally但是一定要跟catch,他说try后面不能跟catch是你在书上看的还是怎么的,我说我从没见过try后面不跟catch的,再说try就是为了捕获潜在的异常,没有catch怎么抓到抛出的异常,他说我不能try...finally吗。我说我没见过,他说那这个问你也不合适...

    14.lock看过多少

    15.Java里面用过哪些包(我说lang util juc math...他说util除了用过集合还用过哪些,我说Arrays、Collections,他说有哪些方法,我说排序二分查找这些,他说Collections有用过吗,里面的排序接口用过吗,答了之后又问如果是要升序里面是写a-b还是写b-a)

    16.String是可变的吗,答final数组不可变,问是final的什么数组,答char

    17.String s="abc"和String s=new String("abc")区别,然后撤常量池还扯String那个intern()方法

    18.StringBuffer和StringBuilder区别

    19.run方法里面有个StringBuilder线程安全吗(这也扯了好久好久,我没转过弯来,他就提示哪些会出现线程不安全的问题,我说竞态条件,什么i++读取-修改-写入,或者单例懒汉的先判断后执行,然后又回到这个run方法里面的StringBuilder,我又没想出来,他又提示方法区里面的变量存在哪,我说栈啊,递归还容易出现堆栈溢出,他又问存在栈里面的是共享的吗,我说是线程私有的,忽然恍然大悟...可能我一开始就没明白这个题什么意思,面试官真是一步一步提示你,真好...)

    20.Java的引用类型你知道吗(我说数组,new XXX都是引用,他说你看过深入理解JVM那本书吗,我说看过其中的内存管理、垃圾回收、类加载这些,类文件结构这些没怎么看,他说那就这个就不问了)

    21.那强引用弱引用这些知道吧(说了下强软弱虚四种引用,然后问我后三种引用的应用场景,这个之前撇过一眼,真的不记得了...回去看了下软引用可以实现缓存,弱引用可以用来在回调函数中防止内存泄露,虚引用能在这个对象被收集器回收时收到一个系统通知。)

    22.然后问内存管理,内存管理记得清楚吧,我说之前看过,现在知道大概(打个预防针,防止自己尴尬...),他说现在忘没忘,那我是能问还是不能问?然后我就笑了下...然后他就问说下JVM内存的分代吧,终于到我装逼了...,扯了好久好久,就把深入理解JVM那本书里面相关的都说了下

    23.大对象是哪些(我说大数组和大字符串,他说多大叫非常大,我说好像有个参数能设置大概4MB?不是很清楚,然后就是年龄增长那个机制之类的)

    24.Minor GC和Full GC,又扯了好久,反正基本把第二章第三章里面的内容给问了个遍还问的特别细...

    25.JVM里面的参数知道哪些,默认

    大小是多少,我说只知道Xmx Xms Xss这几个,他说你猜这个中间的m是什么意思,我说是max,min?可又感觉不是...他说其实他也不知道,就是看看我的想象能力,他说他猜得是memory,还有这种操作...然后问Xmn是什么,答不知道...,问你在猜猜...

    26.G1停顿吗,CMS回收步骤

    27.CMS为什么会停顿,停顿时间(我说如果不停顿那个GC Roots没办法进行下去,必须停一下等着GC Roots遍历完成,就和你妈给你打扫卫生时,你肯定不能还扔垃圾,肯定要停下来一样)

    28.类加载了解吗(扯了一堆顺便说了双亲委派机制,他问为什么要每次从上往下加载?好处是什么?我说比较安全...防止重复类加载...也不知道扯得对不对)

    29.数据结构掌握程度怎么样?(再次瑟瑟发抖,面试官说链表我能问吗?问怎么判断两个单链表是否相交...就这题他提示我好久,最后还是没想出来,就是这么的渣...他说直接判断最后一个节点是否相交就好,我说是不是类似一个竹子从中间砍了一点,然后前面分叉,后面相交这样,他说对对对,是这样的)

    30.数据库熟悉吗(我把我知道的全说出来了,然后说除了这些都不会了,他说那我就不问了)

    31.项目这些框架用到什么程度,看过源码吗

    32.说说项目(因为是自学,我就直接说这个项目是跟网上的教程一步一步敲得,自学弄哪些高并发分布式的项目也不大现实。说说你写在简历上的项目亮点,我说处理了横向越权、纵向越权的情况,具体说了之后,他说,如果现在界面有个按钮给你,你怎么保证权限控制,答了之后,他说如果有100个1000个这样的呢,我说能不能用AOP把它分离开来这样弄,他没说行还是不行,然后问我聊聊Spring MVC吧,答了之后又问你知道有个过滤器吧,答了之后,他说其实是用过滤器来处理刚才提的那个问题的,我说对对对,就是类似过滤器处理全局编码那样...反正又是一顿马后炮...)

    33.研究生期间周围同学,专业啊,反正开始聊人生了,有没有论文(本渣属于无论文、无比赛、无奖学金的三无人员),你的优势?举个栗子。你是从研究生期间才开始写代码的吗?写了大概多少行。平时除了学习,课余时间干什么(差点就脱口而出玩游戏,还好忍住了...)。每天学多久...项目过程中有没有什么头痛的东西...你有没有遇到一个Bug找了好多天都没找出来的经历...你有什么问题要问我?对我技术方面有什么建议?dubbo,zookeeper这些框架需要看吗?这一面是一面还是二面?他说只是一面,之前的那个只是简历评估面...

    全程97分钟,面试官说没太注意时间,正常40分钟就要解决的。面完之后我说的都口干舌燥了,感觉身体被掏空...

    最后说一句,就喜欢这种问你最擅长什么,这个东西我是能问还是不能问的面试官,虽然答得一般但还是五星好评...

    变成面试中了...


    面试状态从简历评估中变成了待安排面试什么鬼?难不成这面只是简历面吗?

    简历面:


    面试官上来介绍了他们部门的业务,问我感不感兴趣,我当然感兴趣了,然后开始疯狂输出我...

    1. 起手式:Object类有哪些方法?

    2. wait方法能不能被重写,wait能不能被中断

    3. 里面哪些方法能被重写

    4. hashcode方法有什么用

    5. HashSet方法里面的hashcode存在哪(我说类似HashMap存在Node里面,他还是问了我好久,没看过源码很虚)

    6. 一个对象的id为1,通过setId(2)改为2,HashSet里面有几个对象,这问了好久好久,没明白他什么意思

    7. 线程有几种状态,创建线程的几种方法

    8. 哪些方法能使线程从运行态变为阻塞态

    9. 说说线程池,线程池中一个线程执行完任务后处于那种状态

    10. Thread类的interrupt,interrupted,isInterrupted方法的区别

    11. rt.jar被什么类加载器加载,什么时间加载

    12. 自己写的类被什么加载,什么时间加载

    13. 自己写的两个不同的类是被同一个类加载器加载的吗?为什么?

    14. CPU能不能直接和二级缓存打交道,接下来一顿问...

    15. 三次握手

    16. 网络编程会吗

    17. socket中accept什么用

    18. 两个不同ip地址的计算机之间如何通信

    19. 项目中用过Spring吗

    20. Spring优点哪些,源码看过吗

    21. SpringMVC怎么配置的,xml文件怎么加载的(问了下是要说源码),一次HTTP请求的过程(其实不是问这个的,它问的什么我没听懂,我说是不是SpringMVC的请求执行过程,他说不是)

    22. 数据库连接池用过吗,来说一说

    23. 项目中的MySQL、Nginx这些都是自己配置的吗

    24. 有什么想问我的?

    总共47分钟,被问懵逼了,但不得不说面试官的态度一直很好,不会的问题会不断给你提示(然而学渣给再多的提示也答不出来,这TM就很尴尬了),哎越面越感觉自己越菜,只能为阿里秋招攒波人品了...

    作者:sakura1027

    本文来源于牛客网

    ——————————

    牛客网(www.nowcoder.com)

    - 互联网名企笔试真题

    - 校招求职笔经&面经

    - 程序员求职实习信息

    - 程序员学习交流社区

    相关文章

      网友评论

      • 起点_1989:有待学习
      • artrek:有的面试真的是面试官想表达的啥意思都弄不明白
        6b440373157d:@artrek 加油~
      • 8c52b8e95a84:有些地方我笑了 原来学过java 但是看了下 原来自己学了渣啊
      • 渔樵店:try finally是为了保证这段代码出错了也能释放资源,但是又并不关注错误原因
      • 0LQ0不放弃:你确定这是阿里面试,阿里面试应该从你的实际项目出发,从你的项目中去寻找问题
        轻轻笑声:问的还真多,答不上来他还问么?
        xuyanghuang:简单了点吧
        半夏风痕:他应该是校招,项目经验不多,所以大多问知识点。

      本文标题:热乎乎的阿里面经,攒人品

      本文链接:https://www.haomeiwen.com/subject/zhlofftx.html