面试面试经Java 杂谈

阿里四面面经

2017-08-23  本文已影响1346人  灰色程序

一面:(8月1号上午:电话面试:80分32秒)
1.自我介绍?

2.做过哪些项目?项目中遇到哪些难点,你是怎样解决的?单点登录系统说一下?分布式缓存的使用场景?(说好的基础呢,上来就是项目,毫无准备,导致好多东西都记不起来了。面试官还说“那你说一个你记得的项目”,手动无奈。。。)

3.你实习的时候JDK用的是那个版本,这个版本有什么新的特性?

4.G1回收器和其他回收器有什么区别?

5.垃圾回收为什么会停顿?哪些对象可能作为GCRoots?

6.垃圾回收分代收集算法?为什么会有两个Survivor区?new一个对象会保存在哪里?

7.Java内存模型?volatile关键字,使用场景?原子性的理解?先行发生原则?

8.场景题:现在有三个线程,同时start,用什么方法可以保证线程执行的顺序,线程一执行完线程二执行,线程二执行完线程三执行?

9.你是怎么理解线程安全的?HashMap是线程安全的么?如果多个线程同时修改HashMap时会发生什么情况?

10.ConcurrentHashMap底层原理?每个版本的实现上有什么区别?

11.静态代理和动态代理的区别?动态代理是怎么实现的?

12.深拷贝和浅拷贝的区别?

13.你做过hadoop的项目,为什么要用hadoop?你们处理的文件是什么格式的?写了几个mapper几个reducer?

14.zookeeper你们用了几台,用来干什么的?一般情况下都是奇数台,那么如果一台挂了,偶数台如何实现master选举?zookeeper的两种启动模式?

15.TCP首部?TCP为什么是可靠的?三次握手四次挥手?

16.Solr是如何建立索引的? Lucene的底层原理?

17.你平时喜欢做什么?看过哪些书?最近在看什么书?(这里有个段子,我:最近在看《HTTP权威指南》。面试官:什么?HTTP潜规则?我:???)

二面: (8月2号晚上:视频面试:47分钟)

1.你那边怎么有点黑啊?(我靠,我也想说啊,暑假寝室集中供电,然而我们寝室没有电。发面经也不忘吐槽学校,简直坑啊。。。抱着台灯瑟瑟发抖。。。)

2.现在在哪里实习?实习主要做些什么?

3.说一下Java里面你最感兴趣的一个部分?

4.熟悉Java的哪些框架?用了Spring的哪些东西?Spring现在最新的版本是多少?

5.讲一下MVC设计模式,有什么框架用到了这个模式?

6.场景题:一个Controller调用两个Service,这两Service又都分别调用两个Dao,问其中用到了几个数据库连接池的连接?

7.安全方面:如何防止 SQL注入?如何防止用户删除其他用户的信息?表单提交可以跨域么?自己写的接口如何防止被其他人恶意调用?

8.zookeeper偶数选举问题?(感觉很重视zookeeper啊)

9.hadoop为什么要将文件分块并且复制三份,复制两份不行么?这样不浪费空间么?namenode脑裂问题?zookeeper如何管理全局配置文件?你们的Hadoop 项目用到了几台机器,每个机器的作用?

10.Servlet是线程安全的么?

11.创建一个对象的详细过程?其中发生了些什么?

12.Java NIO你了解么?讲一讲你最熟悉的部分?

13.你在生活中有没有遇到什么神奇的事情,可以分享一下么?比如洒水车为什么老是在阴天或者快下雨的时候洒水?还有我和我老婆经常吵,阳台的花是早上浇好呢,还是晚上浇好呢?(我靠,这是什么套路)

14.你认为你身边的同学怎么样?如果你正在打游戏,你想让同学帮忙带瓶水,你觉得有多少人会帮你带?(这又是什么套路?让我去送水?)

15.你还有什么想问的?

三面:(HR面,8月4号下午:视频面试:22分钟)

1.7岁一个阶段,说一说每一个阶段对你影响最大的一个人或事?

2.说一下你大学阶段做了些什么?

3.你感觉你前两个面试官怎么样?

4.春招的时候为什么没有去bat实习?

5.你当初准备暑期实习的话,是想学到些什么?现在感觉自己有哪些进步?

6.你还有什么想问的?(当然是万能的培养计划和晋升机制)

四面:(交叉面,8月16号上午:电话面试:30分钟)

1.自我介绍?

2.说一下最能代表你技术水平的项目吧?

3.maven如何进行依赖管理,如何解决依赖冲突?

4.maven的源和插件了解哪些?maven的生命周期?

5.如何保证分布式缓存的一致性?分布式session实现?

6.spring的bean的创建时机?依赖注入的时机?

7.你们的图片时怎么存储的,对应在数据库中时如何保存图片的信息的?

8.单点登录系统的实现?

9.项目中用到的JDK的哪些特性?

10.java8流式迭代的好处?

11.多线程如何在多个CPU上分布?线程调度算法有哪些?

12.线程调度和进程调度的区别?

13.项目中用到了哪些集合类?

14.说一下TreeMap的实现原理?红黑树的性质?红黑树遍历方式有哪些?如果key冲突如何解决?setColor()方法在什么时候用?什么时候会进行旋转和颜色转换?

15.你有什么想问的?

JAVA高级架构.png

JAVA高级架构.png

微信搜索:“JAVA高级架构 ” 关注了解最新JAVA架构动态知识

Java工程化、高性能及分布式、高性能、深入浅出。高架构。性能调优、Spring,MyBatis,Netty源码分析和大数据等多个知识点。如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得优势的,想进阿里面试但担心面试不过的,你都可以来,群号为:647631030
附注:加群要求
1、具有1-5工作经验的,面对目前流行的技术不知从何下手,需要突破技术瓶颈的可以加。
2、在公司待久了,过得很安逸,但跳槽时面试碰壁。需要在短时间内进修、跳槽拿高薪的可以加。
3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加。
4、觉得自己很牛B,一般需求都能搞定。但是所学的知识点没有系统化,很难在技术领域继续突破的可以加。
5.阿里Java高级大牛直播讲解知识点,分享知识,多年工作经验的梳理和总结,带着大家全面、科学地建立自己的技术体系和技术认知!
6.小号加群一律不给过,谢谢。

上一篇下一篇

猜你喜欢

热点阅读