本来预备准备一下今年的金三银四,但是,疫情肆虐,延迟返工,这事就落下了,六月初的时候尝试投了一下京东,这一投还竟让我给投中了,顺顺利利拿到了offer,现在已经入职京东了。对了,我是Java方向,这次面试阿里,主要4面,其中给我印象最深的是问了调优这部分问题比较多,记得差点被“MySQL”难倒。好在面试之前我有做好复习,多亏我读了一些技术笔记,才能够让我顺利通过。
需要我的这些技术笔记、面试题(含答案)的朋友,直接( 点击这里 )即可免费领取哟~
京东内推4面(核心题)
首先整理了一下这次4面的一些核心题,不是说这些题有多难,而是最容易被我们忽略掉,考察的是个人的一个思考能力和实现能力,由于篇幅有限原因,所以这些核心题的答案都整理的文档里,需要的直接( 点击这里 )即可免费领取哦。
- PGSQL(项目中用的是PGSQL)和MySQL的区别?
- Voletile关键字的意义?可见性是咋实现的,为啥不是线程安全?
- synchronized的底层实现?如果两个代码块锁不同的实例,两个代码块的访问会互斥吗?
- 用cookie和session实现用户登录的过程是怎么样的?
- 聊了很久多线程的东西:Disruptor框架的用法,实现(这个是项目中用到的);线程池的用法,传参,线程池的类型,线程数怎么确定的;Future的异步调用过程是咋样的?
- Future超时的情况?无限递归会造成JVM内存的什么问题?
- Kafka(项目用到)的东西:Kafka如何保证可靠性,Kafka的主从机制描述下,ISR解释下,消费者的配置情况。
- 几个Linux命令top、nestat之类的
- 操作系统中的用户态和内核态的概念?转换的流程咋样?
- Java线程的状态有哪些?与OS的进程状态的对应关系?
- hashcode和equals的区别?
- hashmap线程安全吗?
- 用过redis吗?
- 简述一下如何找到redis中热点数据最热的那个?
- redis分布式锁如何保证原子性?
- Dubbo有哪几种负载均衡策略?
- 介绍下mysql的回表和覆盖索引?
- 说下模板方法模式?
- ......
大厂面试之MySQL系列
01 MySQL面试训练题(共100题)
- Mysql 的存储引擎,myisam和innodb的区别。
- 数据表类型有哪些
- MySQL数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
- 对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题?
- 如何进行SQL优化?
- 如何设计一个高并发的系统
- 锁的优化策略
- 索引的底层实现原理和优化
- 什么情况下设置了索引但无法使用
- SQL语句的优化
- 实践中如何优化MySQL
- sql注入的主要特点
- 优化数据库的方法
- 简单描述mysql中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)
- 数据库中的事务是什么?
- 了解XSS攻击吗?如何防止?
- SQL注入漏洞产生的原因?如何防止?
- 为表中得字段选择合适得数据类型(物理设计)
- 存储时期
- 简述在MySQL数据库中MyISAM和InnoDB的区别
- 解释MySQL外连接、内连接与自连接的区别
- Myql中的事务回滚机制概述
- SQL语言包括哪几部分?每部分都有哪些操作关键字?
- ......
02 MySQL 性能优化的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)
- 小心“永久链接”
其他调优系列:JVM调优+Tomcat调优
01 JVM系列面试训练题
- 内存模型以及分区,需要详细到每个区放什么。
- 堆里面的分区:Eden,survival (from+ to),老年代,各自的特点。
- 对象创建方法,对象的内存分配,对象的访问定位。
- GC 的两种判定方法
- SafePoint 是什么
- GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
- GC 收集器有哪些?CMS 收集器与 G1 收集器的特点。
- Minor GC 与 Full GC 分别在什么时候发生?
- 几种常用的内存调试工具:jmap、jstack、jconsole、jhat
- 类加载的几个过程:
- JVM 内存分哪几个区,每个区的作用是什么?
- 如和判断一个对象是否存活?(或者 GC 对象的判定方法)
- 简述 java 垃圾回收机制?
- java 中垃圾收集的方法有哪些?
- java 内存模型
- java 类加载过程
- 简述 java 类加载机制
- 类加载器双亲委派模型机制
- 什么是类加载器,类加载器有哪些
- 简述 java 内存分配与回收策率以及 Minor GC 和Major GC
02 JVM和性能优化(Xmind思维导图)
03 JVM调优总结
04 Tomcat系列面试训练题
- Tomcat 的缺省端口是多少,怎么修改?
- Tomcat 有哪几种 Connector 运行模式(优化)?
- Tomcat 有几种部署方式?
- Tomcat 容器是如何创建 servlet 类实例?用到了什么原理?
- Tomcat 如何优化?
- 内存调优
- 垃圾回收策略调优
- 共享 session 处理
- 添加 JMS 远程监控
- 专业点的分析工具有
- 关于 Tomcat 的 session 数目
- 监视 Tomcat 的内存使用情况
- 打印类的加载情况及对象的回收情况
- Tomcat 一个请求的完整过程
- Tomcat 工作模式?
05 Tomcat深入剖析(PDF文档)
- 第1章 一个简单的Web服务器
- 第2章 一个简单的servlet容器
- 第3章 连接器
- 第4章 Tomcat的默认连接器
- 第5章 servlet容器
- 第6章 生命周期
- 第7章 日志记录器
- 第8章 载入器
- 第9章 Session管理
- 第10章 安全性
- 第11章 StandardWrapper
- 第12章 StandardContext类
- 第13章 Host和Engine
- 第14章 服务器组件和服务组件
- 第15章 Digester库
写在末尾
很多事情,它都在告诉我,这个世界,是不会亏待坚持学习的人的。所以,无论你现在处于什么阶段,只要有开始,那就还没有结束。
最后提醒:以上我个人自己所整理出来的Mysql相关的资料也好,或者其他文档,是都可以免费分享给大家的,有需要的朋友,直接点击【 石墨文档 】即可免费领取哦
网友评论