2019阿里天猫团队Java高级工程师面试题之三轮面试

转载自  2019阿里天猫团队Java高级工程师面试题之三轮面试

作者:编程砖家
https://www.cnblogs.com/xiaoyangjia/p/10697324.html

一.第一面

1.五分钟自我介绍,说说自己的擅长及拿手的技术

自我介绍是为了考察面试者的语言表达和总结概括能力,通常面试官希望听到如下四个方面:

A 基本信息:简历上也有基本信息,口述一遍当作开场,说一下毕业学校、所学专业、获奖经历,时间控制在半分钟。

B 项目经历:按照简历上的内容,按时间由远及近说说开发过的项目,运用什么技术栈,做出什么成绩,有什么收获,时间控制在两分半钟

C 技术专长:说说自己的特长,贡献过哪些开源项目,业余时间看什么书,是否写博客,要契合当前职位所需要的技术栈,时间控制在1分钟。

D 职业规划:说一下的职业规划和中长期打算,表示自己稳定可靠不轻易跳槽,时间控制在半分钟

2.说说Treemap和HashMap的区别?

https://www.cnblogs.com/williamjie/p/9099130.html

3.说说HashMap和ConcurrentHashMap的区别?

http://www.importnew.com/28263.html

3.说说一致性Hash算法?

https://www.cnblogs.com/lpfuture/p/5796398.html
4.你知道的GC算法和回收策略有哪些?GC的机制是什么?

https://blog.csdn.net/rabbit_in_android/article/details/50386954
5.垃圾回收器的基本原理?是否可以立即回收内存?怎么样主动的通知JVM进行垃圾回收?

http://www.cnblogs.com/zhangxiaopeng/p/5001171.html
7.说说Java的双亲委派模型

https://www.cnblogs.com/heapStark/p/9221753.html
8.线程池创建的几个核心构造参数是什么?

https://blog.csdn.net/pfnie/article/details/52757002
9.乐观锁和悲观锁?可重入锁和Synchronized?

https://www.jianshu.com/p/66b854d5bd49
10.CountDownLatch和Cylicbarrior的区别以及分别是在哪样场景下使用的?

http://www.importnew.com/21889.html
11.Http和Https的区别以及Https加密的方式?

https://www.cnblogs.com/wqhwe/p/5407468.html

 

二.第二面

1.Tomcat的基本架构是什么?

https://blog.csdn.net/xlgen157387/article/details/79006434

2.InnoDB四种事务隔离级别是什么?他们之间的区别是什么?

http://www.cnblogs.com/huanongying/p/7021555.html
3.说说MySQL事务特性和慢查询分析?

⑴ 原子性(Atomicity)

  原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。

⑵ 一致性(Consistency)

  一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。

  拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。

⑶ 隔离性(Isolation)

  隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。

  即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。

  关于事务的隔离性数据库提供了多种隔离级别,稍后会介绍到。

⑷ 持久性(Durability)

  持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。

  例如我们在使用JDBC操作数据库时,在提交事务方法后,提示用户事务操作完成,当我们程序执行完成直到看到提示后,就可以认定事务以及正确提交,即使这时候数据库出现了问题,也必须要将我们的事务完全执行完成,否则就会造成我们看到提示事务处理完毕,但是数据库因为故障而没有执行事务的重大错误。

4.有哪些MySQL常用的优化方法?

https://www.jisec.com/application-development/798.html
5.Http请求过程,DNS解析的过程?

https://www.cnblogs.com/geaozhang/p/7010353.html
6.三次握手和四次握手的过程?

https://www.jianshu.com/p/bd31d3b23725
7.B+树索引和Hash索引之间的区别?
https://blog.csdn.net/u013967628/article/details/84305511

https://www.cnblogs.com/lixiaolun/p/5058304.html
8.Spring IOC如何管理Bean之间的依赖关系,怎么样避免循环依赖?

https://www.jianshu.com/p/f0c005c7354b
9.SpringBean创建过程中的设计模式?

https://blog.csdn.net/caoxiaohong1005/article/details/80039656

 

三.第三面

 

1.说说MySQL的锁并发?加锁的机制是什么?

https://www.cnblogs.com/yelbosh/p/5813865.html
2.高并发场景下MySQL如何防止死锁,保证数据的一致性?

https://blog.csdn.net/qq_34107571/article/details/78001309

3.说说分库与分表设计与困境?

https://blog.csdn.net/jiangpingjiangping/article/details/78069480

4.集群的负载均衡的算法与实现?

https://www.cnblogs.com/data2value/p/6107450.html
5.Redis中Setnx命令使如何实现分布式锁的,使用Redis怎么进行异步队列?会有什么缺点?

https://www.cnblogs.com/diegodu/p/5807154.html

https://blog.csdn.net/wzbwzh/article/details/82876299

6.Redis的数据结构, 线程模型,数据淘汰机制?

https://blog.csdn.net/zhaoliang831214/article/details/82051449

https://www.cnblogs.com/barrywxx/p/8570821.html

https://www.cnblogs.com/changbosha/p/5849982.html
7.Redis的数据一致性问题?

https://blog.51cto.com/538858/2328219
8.缓存击穿的概念和解决方案?

https://www.cnblogs.com/williamjie/p/9117015.html
9.MQ底层原理的实现?

https://blog.csdn.net/h2604396739/article/details/81136527
10.不使用Java并发包,怎么实现阻塞队列?
https://blog.csdn.net/h525483481/article/details/80347485

https://blog.csdn.net/h525483481/article/details/80347485
11.如何实现高并发环境下的削峰、限流?

https://blog.csdn.net/weixin_34360651/article/details/87075481

https://www.jianshu.com/p/6746140bbb76
12.讲讲项目中用到的中间件(比如Dubbo/MQ/Zookeeper/Redis/Kafka)?

说一下为什么使用,有什么优缺点,遇到什么问题,怎么解决这个问题

13.说说微服务的超时机制和熔断?

https://www.cnblogs.com/yunpt/p/10060342.html

14.高并发架构的设计思路?

https://www.jianshu.com/p/1c3bf85ab2cd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

P2680-运输计划【LCA,树上差分,二分答案】

正题 题目链接:https://www.luogu.org/problemnew/show/P2680 题目大意 一棵带权无根树,给出若干条路径。选择一条边使其边权变为0,要求路径的长度的最大值最小。 解题思路 首先最大值最小我们可以想到二分答案,现在我们二分到midmidmid了…

12-多对一添加操作(添加新客户及对应的新订单)

多对一添加操作 场景:现在想要添加一个新客户对应一个新订单,那么要怎么来添加呢? 分析:由于添加订单时,客户对订单是一对多的关系,所以添加订单的时候必须要指明一位客户。 要同时添加新客户以及一个新订…

.NET Core+MySql+Nginx 容器化部署

1. 引言上两节我们通过简单的demo学习了docker的基本操作。这一节我们来一个进阶学习,完成ASP.NET Core MySql Nginx的容器化部署。本文是基于CentOS 7.4环境进行演示,示例项目可以访问Docker.NetCore.MySql进行下载。2. Hello MySQL同样我们还是以循序…

HiveSQL常用优化方法全面总结

转载自 HiveSQL常用优化方法全面总结 Hive作为大数据领域常用的数据仓库组件,在平时设计和查询时要特别注意效率。影响Hive效率的几乎从不是数据量过大,而是数据倾斜、数据冗余、job或I/O过多、MapReduce分配不合理等等。对Hive的调优既包含对HiveQL语…

P3597-[POI2015]WYC【矩阵乘法,倍增】

前言 正题 题目链接:https://www.luogu.org/problemnew/show/P3597 题目大意 问第kkk长的路径长度(非简单路径) 解题思路 先考虑kkk比较小时的情况,我们可以求出长度为111的路径,长度为222的路径,然后以此类推找到第一个与前面的和到kkk就…

13-一对多左连接查询分步查询(查询所有客户及客户对应的订单)

查询所有客户以及对应的订单 目录 左连接查询(不支持懒加载)分步查询(支持懒加载)左连接查询(不支持懒加载) 场景:我们想要查询出所有的客户,并且把每个客户对应的订单也查出来。…

实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作

转载自 实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作 供稿 | eBay ADI-Carmel Team 作者 | 金澜涛 编辑 | 顾欣怡 本文7309字,预计阅读时间22分钟 导读 本文介绍eBay Carmel团队利用Delta Lake,使Spark SQL支持Teradata的Update/Delete语法。…

14-多对多关系建表

多对多关系建表 目录 多对多关系多对多关系建表原则domain多对多关系 一个老师可以教多个学生,一个学生可以被多个老师教。一个学生可以选择多门课程,一门课程可以被多个学生选择。一个用户可以选择多个角色,一个角色可以被多个用户选择。…

DevOps文档中心的技术实践演进

这应该算是《Git企业开发者教程》的篇外篇,介绍一下这个教程是怎样写出来的。相信每个技术人都有类似下面的文件夹,保存着你辛苦工作的成果。实际的感觉:看着闹心,弃之不舍。一份文档久经修改,不能定稿,循环…

CF7D-Palindrome Degree【字符串hash,dp】

正题 luogu链接:https://www.luogu.org/problemnew/show/CF7D 题目大意 定义kkk级回文串为一个字符串的(1,⌊n/2⌋)(1,\lfloor n/2 \rfloor)(1,⌊n/2⌋)和(n−⌊n/2⌋,n)(n-\lfloor n/2 \rfloor,n)(n−⌊n/2⌋,n)都是k−1k-1k−1级回文串。 求这个字符的所有前缀的回文串等级…

MySQL UPDATE 语句一个“经典”的坑

转载自 MySQL UPDATE 语句一个“经典”的坑 来源:ju.outofmemory.cn/entry/336774 有问题的SQL语句 why? 倒回去再重试验一把 最近好几次有开发同学在钉钉上问我,比如下图: 问题归纳起来就是:在MySQL里面update一条记录&…

jzoj4803-[NOIP2016提高A组模拟9.28]求导【模拟】

正题 题目大意 求一个标准多项式的求导 解题思路 暴力模拟即可,注意细节即可 一下是贴心的坑爹细节样例 (233x)−>(1)而不是(1)(233x)->(1)而不是(1)(233x)−>(1)而不是(1) (1)−>(0)而不是()(1)->(0)而不是()(1)−>(0)而不是() codecodecode …

g4e基础篇#1 为什么要使用版本控制系统

本篇是Git企业开发者教程基础篇的第一篇1. 基础篇:为什么要使用版本控制系统Git 分布式版本控制系统的优势Git 安装和设置初始化Git存储库(Repo)起步 1 – 创建分支和保存代码起步 2 – 了解Git历史记录起步 3 – 拉取请求 Pull Request 工作机制Git是一种版本控制系…

15-多对多做左连接查询(查询老师,并且把关联的学生也查出来)

多对多左连接查询 目录 左连接查询老师对学生是多对多的关系,把中心放在老师上,一个老师可以教多个学生,实际上老师对学生也可以理解为一对多的关系。 左连接查询 场景:查询老师,并且把关联的学生也查出来。 Teac…

2.数据湖DeltaLake之DDL操作

转载自 2.数据湖DeltaLake之DDL操作 前面讲了delta lake简介,特性及基本操作。本文主要是讲DeltaLake的DDL操作,实际上是依赖于spark datasourcev2 和catalog API(3.0)的,所以Deltalake整合spark的时候最好是3.0开始…

jzoj4804-[NOIP2016提高A组模拟9.28]成绩调研【指针,模拟】

正题 题目大意 求一个序列里有多少个区间满足kkk的个数在lr∼rkl_r\sim r_klr​∼rk​之间 解题思路 首先十分显然对于一个固定的右端点rrr可以匹配的左指针一定是一个区间[L2..L1−1][L_2..L_1-1][L2​..L1​−1]。 也就是[L2..L1−1][L_2..L_1-1][L2​..L1​−1]任意一个作…

.Net 如何模拟会话级别的信号量,对http接口调用频率进行限制(有demo)

现在,因为种种因素,你必须对一个请求或者方法进行频率上的访问限制。 比如, 你对外提供了一个API接口,注册用户每秒钟最多可以调用100次,非注册用户每秒钟最多可以调用10次。比如, 有一个非常吃服务器资源的…

(八)IT_开发常用单词大全

开发单词 单词 音标 注释 a collection of… 一组… a couple of… 几个 a kind of 一种 a number of… 许多… a point in time n.时间点 a set of… 一组… a series of 一系列 ability [əbɪlətɪ] n.能力 absence [ˈbsəns] …

1.数据湖deltalake初识

转载自 1.数据湖deltalake初识 1.delta特性简介 Delta Lake是Spark计算框架和存储系统之间带有Schema信息数据的存储中间层。它给Spark带来了三个最主要的功能: 第一,Delta Lake使得Spark能支持数据更新和删除功能; 第二,Del…

Quartz.NET 3.0 正式发布

Quartz.NET是一个强大、开源、轻量的作业调度框架,你能够用它来为执行一个作业而创建简单的或复杂的作业调度。它有很多特征,如:数据库支持,集群,插件,支持cron-like表达式等等。在2017年的最后一天Quartz.…