阿⾥P7⾯试经历JAVA总结,技术⾯,HR⾯
为记录阿⾥的电⾯经历,特与⼤家分享,岗位是JAVA研发⼯程师。
⼀⾯主要问题如下:
1)⾸先⾃我介绍
2)数据结构算法的基本问题,如排序算法,⼆叉树遍历,后序遍历⾮递归,图的最短路径问题
3)对⼀个数组进⾏绝对值排序的算法
4)java中hashmap的底层实现
5)java中垃圾回收机制GC原理等
6)介绍⾃⼰的项⽬,数据库中⽤到的数据结构数据模型,死锁的概念(问的应该是数据库的死锁),如何避免死锁?
7)乐观锁和悲观锁?
8)⼀致性hash算法
9)项⽬中业务对象的关联关系/关联⽅式,谈谈左外连接及如何实现多对多关系模型
10)spring的IOC和AOP
11)sping如何实现(保证)事务⼀致性完整性,spring中事务传播机制类型
12)谈谈WEB的架构(应该指的是j2ee开发架构模型)、项⽬中的⽤户场景使⽤场景
13)对分布式架构的了解,如分布式存储 分布式缓存 分布式计算
14)谈谈对阿⾥的哪些开源项⽬有所了解?
15)对淘宝技术是否有了解?
16)对其杭州信息平台事业部其主要业务是否了解(其主要是java⽅⾯的开发,另可以重点关注看看⼯作流引擎)
⼆⾯主要问题如下:
1)⾸先仍然是先⾃我介绍
2)有过竞赛经历?奖项?专业排名?平时都看些什么书籍?是否参加了学校社团活动?哪个部门?主要⼯作?时间安排?
3)对哪些技术最熟悉最擅长?我说的是java WEB框架那些,然后就开始问java了
4)接⼝和抽象类的区别 实现有哪些不同?
5)序列化如何实现?⽤代码描述。writeObject? objectWrite?ObjectOutputStream.writeObject(). adObject() 6)IO框架 集合框架的描述。如何判断⽂件是否存在?如何读取⼀个⽬录下⾯的所有⽂件和⼦⽬录?代码描述。
7)⼴度优先遍历⽬录下⾯的所有⼦⽬录和⽂件?代码实现?List和Map的不同?HashMap的实现?如何解决散列冲突?
8)多线程机制?线程休眠10秒?sleep()与wait()的区别。
9)缓冲流buffer的⽤途?原理?
10)linux下如何查看CPU负载和IO端⼝的使⽤情况?如何创建⽬录?如何搜索⼀个指定的字符?
11)考察数据库的sql操作,给定了⼀个具体的业务表,如何对不同类型的数据进⾏统计。
12)事务的概念?脏读?如何避免?如何在代码中实现?
13)sql代码中如何使⽤如何定义⼀个事务?应该是如何定义⼀个事务的隔离级别?
14)项⽬中遇到的问题?解决⽅式?
15)SSI框架?spring如何定义⼀个bean?代码描述。Bean的⽣命周期?Bean的scope?
16) 对淘宝技术架构的了解?从哪⾥获取到的?⾃⼰今后的职业规划?技术发展⽅向?
17)最后,对来杭州和阿⾥⼯作的意向?然后询问我⾃⼰有啥想问的?谈了下 信息平台事业部的主要业务?⼯作流和ERP?
总体上来看,还是⽐较注重基础的 尤其是java的多线程和并发安全性及数据库相关,另外对有关开源框架的具体底层实现需要多阅读源码并进⾏总结。
下⾯是⽹上参考到的阿⾥java⾯试题⽬,同样作为借鉴。
->>>>>>>>>>>>>>>>
1 hashmap,hashtable区别。
2 是否了解过hashmap的源码?
3 jvm相关,主要是内存分配的过程,何时出发GC,⽤什么⼯具或者命令来进⾏监控?
4 类加载,类隔离机制。
5 spring的ioc,aop,事物,然后顺便提到了数据库的事物,两阶段提交,数据库锁的级别,MySQL数据库锁的特殊之处(页级锁)
6 java线程池⾥⾯的arrayblockingqueue,linkedblockingqueue的⽤途和区别。
7 设计模式相关,主要讲解⽤途
8 如何保证数据库集中ID的唯⼀性,假设每秒钟并发20万次。
9 设计⼗万并发级别的⽹站后台,如何计算使⽤的ecs数⽬(云服务器(Elastic Compute Service, ECS 如阿⾥ECS)是⼀种处理能⼒可弹性伸缩的计算服务器,
基于BGP最优路由算法构架多线⽹络,云服务器可以帮助构建更加安全稳定的应⽤)。
10 memcached和redis的异同和⽤途。
11 nosql数据库相关,主要讲了mongodb
12 10G的整数中,取出最⼤的⼀个(不光是使⽤⾼效的排序算法,还需要考虑内存⼤⼩)
13 synchronized,volatile,可重⼊锁的⽤途和优缺点。
14 java nio相关核⼼的api基本了解和应⽤
15 ⼀致性hash
16 在⼀个⼤系统中存在哪些单点失效的问题
17 hadoop优化相关
>>>>>>>>>>>>>>###⼀⾯,主要注重基础,问得很深很⼴,压⼒⾯试。
1.hashmap、concurrenthashmap底层实现和区别
2.spring框架的原理
3.如何写⼀个orm框架
4.hibernate⼀级缓存和⼆级缓存,hibernate其他缓存
5.hibernate事务传播⾏为种类
6.springmvc原理
9.web中安全性问题的考虑,如何防⽌
10.web系统整体架构
11.hibernate如何实现声明式事务
12.java并发包
13.volatile
14.平常都看哪些书
15.spring底层数据结构
16.如何进⾏反射,如何提⾼反射的性能
17.如何实现java的代理,为什么需要实现接⼝
18.TCP协议三次握⼿
19.springmvc⽤过哪些注解
20.springAOP可以使⽤哪些代理,有什么区别
21.为什么要分三层
这⾯没有准备好,⼴度和深度压⼒很⼤,建议⼤家多看看三⼤框架源码、原理,并发包。
⼆⾯注重于项⽬
1.什么是restful web service?
2.并发集合包?
3.项⽬中使⽤了哪些数据结构?
4.TCP中断连接四次挥⼿?
5.MD5加盐
6.https
7.⽀付宝接⼝开发
8.知道哪些锁,有什么区别?
9.依旧JDK源码
10.项⽬遇到什么问题,怎么解决?
11.JDK1.8有什么新特性?
也许是觉得⼀⾯已经问了很多了,这⾯⼜答得⽐较不错,20分钟就结束了,30分钟出了结果。
三⾯聊⼈⽣
leader⼈very nice,给了⼀些建议,可能是觉得技术差不多,这⾯基本没怎么问技术,主要是职业发展、IBM的实习内容之类,我想⼤家可能也都有⾃⼰的想法,18分钟。
hr⾯聊成长经历:聊了⼀下对B2B的认识和⾃⼰的技术成长历程。
>>>>>>>>>>>>>>>>###
关注我:私信回复“资料”获取往期Java⾼级架构资料、源码、笔记、视频
Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、
⾼并发等架构技术
java重写和重载的区别1.Java基础
ArrayList,HashMap等集合框架类,重要基础类String等的处理。HashMap的底层存储结构等。
(也可以顺带考察下对接⼝,继承,重载重写的基本理解;以及异常处理的注意事项)。
2. 数据结构与算法
常见的查算法及时间复杂度。
常见的排序算法及时间复杂度。
⽐较重要的数据结构,如链表,队列,栈的基本理解及⼤致实现。
3. 多线程问题
1)线程安全问题。 HashMap 是否线程安全,为何不安全。 ConcurrentHashMap,线程安全,为何安全。底层实现是怎么样的。
2)J.U.C下的常见类的使⽤。 ThreadPool的深⼊考察; BlockingQueue的使⽤。(take,poll的区别,put,offer的区别);原⼦类的实现。
3)各种常见锁使⽤
如果上⾯这些掌握很好,还可以看看更深⼀点的 False Sharing,Cache Line,可见性与原⼦性等;
4. JVM
Java内存分代模型,GC算法,JVM常见的启动参数; CMS算法的过程。
这块回答较好,也可以只是看毕⽞的Java分布式开发或⽹上⽂章的学习, 可以结合JVM启动参数常见配置,jstat等命令,看下动⼿能⼒,意愿;以及实际线上问题排查。
5.Linux使⽤与问题分析排查
1). grep,awk,sed; 是否⾃⼰写过shell脚本;
2). 常见的cpu load过⾼,us过⾼,⼀般是什么问题。引申出是否⽤过top,jstat,jstack等。
常见的内存问题⼀般有哪些。 引申出是否⽤过free,top, jmap等。
6. 框架使⽤
spring aop的底层实验原理。 aop与cglib,与asm的关系。
spriong ioc的⽣命周期,(init-method,intilizingbean接⼝⽅法afterPropertiesSet的先后顺序)等。
Hibernate对⼀⼆级缓存的使⽤,Lazy-Load的理解;
7. 数据库相关:
1. mysql存储引擎中索引的实现机制;
2.数据库事务的⼏种粒度;
3.⾏锁,表锁;乐观锁,悲观锁
8.⽹络协议:
HTTP协议;
HTTPS协议,SSL协议及完整交互过程;
9. redis
redis,memcache底层客户端使⽤⼀致性Hash,看是否了解;
redis的事件驱动多路复⽤底层实现;引申到NIO编程, 看对Netty,或mina是否了解。
如果候选者同时⽤过memcache,redis,看下是否了解两者在使⽤场景上的区别。以考察使⽤深度,以及是否有好奇精神。
10. 设计模式与重构
常见设计模式,如singlen,factory,abstract factory,strategy,chain,adaptor,decorator,composite,template,absever等。
重构:重构书籍
11. 学习与进取⼼
最近上过上哪些技术站点; 最近在看哪些书。
12. 抗压能⼒及抗压意愿
了解加班情况,了解是否愿意在⼀段时间996等;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
2020东软面试题小计(校招Java篇)
« 上一篇
推荐文章
热门文章
-
随机森林算法的改进方法
2024-10-02 -
基于随机森林算法的风险预警模型研究
2024-10-02 -
Python中的随机森林算法详解
2024-10-02 -
随机森林发展历史
2024-10-02 -
如何使用随机森林进行时间序列数据模式识别(八)
2024-10-02 -
随机森林回归模型原理
2024-10-02 -
如何使用随机森林进行时间序列数据模式识别(六)
2024-10-02 -
如何使用随机森林进行时间序列数据预测(四)
2024-10-02 -
如何使用随机森林进行异常检测(六)
2024-10-02 -
随机森林算法和grandientboosting算法 -回复
2024-10-02 -
随机森林方法总结全面
2024-10-02 -
随机森林算法原理和步骤
2024-10-02 -
随机森林的原理
2024-10-02 -
随机森林 重要性
2024-10-02 -
随机森林算法
2024-10-02 -
机器学习中随机森林的原理
2024-10-02 -
随机森林算法原理
2024-10-02 -
使用计算机视觉技术进行动物识别的技巧
2024-10-02 -
基于crf命名实体识别实验总结
2024-10-02 -
transformer预测模型训练方法
2024-10-02
最新文章
-
随机森林算法介绍及R语言实现
2024-10-02 -
基于随机森林优化的神经网络算法在冬小麦产量预测中的应用研究_百度文 ...
2024-10-02 -
基于正则化贪心森林算法的情感分析方法研究
2024-10-02 -
随机森林算法和grandientboosting算法
2024-10-02 -
基于随机森林的图像分类算法研究
2024-10-02 -
随机森林结合直接正交信号校正的模型传递方法
2024-10-02
发表评论