IE盒子

搜索
查看: 119|回复: 1

春/秋招指南之“性能调优”:MySQL+Tomcat+JVM,看完还怕 ...

[复制链接]

2

主题

4

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2022-9-22 03:08:01 | 显示全部楼层 |阅读模式
春/秋招指南之“性能调优”:MySQL+Tomcat+JVM,还怕面试官的轰炸?



01 MySQL性能调优

1.1 MySQL性能调优问题有哪些?怎么学?

关于这个,给大家看一份学习大纲(xmind)文件,每一个分支里面会有详细的介绍。


这里都是以图片形式展示介绍,有整理完整的资源包【性能调优笔记(MySQL+Tomcat+JVM)
1.2 关于MySQL,面试官会问哪些问题?


  • 第一个:MySQ性能优化最佳实践21个(有具体的解释)你知道哪些?

  • 为查询缓存优化你的查询
  • EXPLAIN你的SELECT查询
  • 当只要一行数据时使用LIMIT 1
  • 为搜索字段建索引
  • 在Join表的时候使用相当类型的例,并将其索引
  • 千万不要 ORDER BY RAND()
  • 避免 SELECT *
  • 永远为每张表设置一个 ID
  • 使用 ENUM 而不是 VARCHAR
  • 从 PROCEDURE ANALYSE() 取得建议
  • 尽可能的使用 NOT NULL
  • Prepared Statements
  • 无缓冲的查询
  • 把 IP 地址存成 UNSIGNED INT
  • 固定长度的表会更快
  • 垂直分割
  • 拆分大的 DELETE 或 INSERT 语句
  • 越小的列会越快
  • 选择正确的存储引擎
  • 使用一个对象关系映射器(Object Relational Mapper)
  • 小心“永久链接”
篇幅有点长,整理成了一个PDF文档:



  • 第二个:来看下MySQL的高频20问(附带详细解答,整理成册)

  • 事务四大特性(ACID)原子性、一致性、隔离性、持久性?
  • 事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?
  • MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?
  • MySQL的MyISAM与InnoDB两种存储引擎在,事务、锁级别,各自的适用场景?
  • 查询语句不同元素(where、jion、limit、group by、having等等)执行先后顺序?
  • 什么是临时表,临时表什么时候删除?
  • MySQL B+Tree索引和Hash索引的区别?
  • sql查询语句确定创建哪种类型的索引?如何优化查询?
  • 聚集索引和非聚集索引区别?
  • 有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?
  • 非关系型数据库和关系型数据库区别,优势比较?
  • 数据库三范式,根据某个场景设计数据表?
  • 数据库的读写分离、主从复制,主从复制分析的 7 个问题?
  • 使用explain优化sql和索引?
  • MySQL慢查询怎么解决?
  • 什么是 内连接、外连接、交叉连接、笛卡尔积等?
  • mysql都有什么锁,死锁判定原理和具体场景,死锁怎么解决?
  • varchar和char的使用场景?
  • mysql 高并发环境解决方案?
  • 数据库崩溃时事务的恢复机制(REDO日志和UNDO日志)?


1.3 MySQL性能调优笔记分享


  • 《MySQL性能调优与架构设计--全册(PDF)》
本书分为3个部分,第一部分是基础篇,第二部分是重点之重性能调优篇,第三部分是架构设计篇
(1)目录简介


(2)详情内容



  • 《重学MySQL:从入门到精通(PDF)》
本书包括MySQL的安装与配置、数据库的创建、数据表的创建、数据类型和运算符、MySQL函数、查询数据、数据表的操作(插入、更新与删除数据)、索引、存储过程和函数、视图、触发器、用户管理、数据备份与恢复、日志以及性能优化等等。本书注重实战操作,帮助读者循序渐进的掌握MySQL的各项技术。需要重学一下MySQL,建议可以看看这个


02 Tomcat性能调优

2.1 Tomcat性能调优面试必备题(附带详细解答)你能答多少?


  • 你怎样给 tomcat 去调优?
  • 如何加大 tomcat 连接数
  • tomcat 中如何禁止列目录下的文件
  • 怎样加大 tomcat 的内存
  • Tomcat 有几种部署方式
  • Tomcat 的优化经验
  • Tomcat 的缺省端口是多少,怎么修改?
  • tomcat 有哪几种 Connector 运行模式( 优化) ?
  • Tomcat 有几种部署方式?
  • tomcat 容器是如何创建 servlet 类实例?用到了什么原理?
  • tomcat 如何优化?
  • 内存调优
  • 垃圾回收策略调优
  • 添加 JMS 远程监控
  • 专业点的分析工具有
  • 关于 Tomcat 的 的 session 数目
  • 监视 Tomcat 的内存使用情况
  • 打印类的加载情况及对象的回收情况
  • Tomcat 一个请求的完整过程
  • Tomcat 工作模式?
详细解答如下:


2.2 Tomcat学习笔记分享


  • 《深入剖析Tomcat(中文版)(PDF)》
  • 第1章:本书从介绍一个简单的HTTP服务器开始。为了建立一个可以运行的HTTP服务器,你需要了解http://java.net包下Socket类和ServerSocket类的内部运行机制。该章有详细的背景信息介绍,使你可以理解该章中应用程序的运行机制。
  • 第2章:阐明一个简单的servlet容器是如何工作的。此章有两个与servlet容器有关的应用程序员,可以服务于静态资源的请求和简单servlet的请求。。



  • 第15章:说明如何通过Digester组件来对Web应用程序进行配置,Digester是Apacbe软件基金会的一个开源项目,即使你对这个不熟悉也没关系,该章会简要介绍Digester库,说明如何使用该库来搞XML。
  • 第16章:对Tomcat中的关闭钩子进行说明,不论用户如何关闭Tomcat(即通过发送关闭命令,或是突然直接关闭控制台),通过使用关闭钩子,Tomcat总是可以执行一些清理工作。
  • 第17章:对使用批处理文件和Shell脚本来启动和关闭Tomcat进行说明。
  • 第18章:对部署组件进行说明,该组件负责部署和安装web应用程序。
  • Servlet对一个特殊接口(ContainerServlet)进行说明。使用该接口,Servlet对象可以访问Catalina中的内部对象,此外,该章会对用来管理已部署应用程序的Manager应用程序进行说明
  • 第20章:对JMX进行说明,并阐述Tomcat是如何为其内部对象创建MBean,并使用这些内部对象可托管的。


03 JVM性能调优

3.1 JVM和性能调优问题学习大纲(xmind)



3.2 JVM性能调优面试相关问题(附解析)


  • Java 类加载过程?
  • 描述一下 JVM 加载 Class 文件的原理机制?
  • Java 内存分配。
  • GC 是什么? 为什么要有 GC?
  • 简述 Java 垃圾回收机制。
  • 如何判断一个对象是否存活?(或者 GC 对象的判定方法)
  • 垃圾回收的优点和原理。并考虑 2 种回收机制
  • 垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
  • Java 中会存在内存泄漏吗,请简单描述。
  • 深拷贝和浅拷贝。
  • System.gc() 和 Runtime.gc() 会做什么事情?
  • finalize() 方法什么时候被调用?析构函数 (finalization) 的目的是什么?
  • 如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?
  • 什么是分布式垃圾回收(DGC)?它是如何工作的?
  • 串行(serial)收集器和吞吐量(throughput)收集器的区别是什么?
  • 在 Java 中,对象什么时候可以被垃圾回收?
  • 简述 Java 内存分配与回收策率以及 Minor GC 和 MajorGC
  • JVM 的永久代中会发生垃圾回收么?
  • Java 中垃圾收集的方法有哪些?
  • 什么是类加载器,类加载器有哪些?
  • 类加载器双亲委派模型机制?


3.3 JVM性能调优笔记分享


  • 《JVM调优总结(PDF)》
(1)目录


(2)内容详解


关于“性能调优”:MySQL+Tomcat+JVM,我要给大家分享学习的就这么多,不知道这些面试常备问题你都能答得上来不??
回复

使用道具 举报

1

主题

5

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 3 天前 | 显示全部楼层
介是神马?!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表