mysql
- DDL、DML、DCL大致有哪些操作
- DQL常见条件、别名、去重、分组、排序、分页语法
- DQL的执行顺序是怎样的
- 常见的字符串、数值、日期、分组函数
- mysql的约束有哪些,说一下
- 多表关系有哪些,笛卡尔积的消除
- 内连接查询的是什么;显式和隐式内连接的区别;
- 左外连接和右外连接查询的是什么,语法是什么
- 自连接查询的要求和语法
- 联合查询 union, union all区别在哪
- 子查询根据查询结果和位置的分类;以及他们的常用操作符
- 什么是事务,他的四大特性
- 并发事务的种类有哪些;隔离级别有哪些
- 大致了解mysql的体系结构
- mysql有哪些引擎,如何指定使用
- InnoDB的逻辑存储结构是什么样的
- InnoDB、MyISAM、Memory各自的特点
- 存储引擎如何选择呢
- 什么是索引,有哪些索引结构
- InnoDB 为何使用 B+Tree 而不是二叉树、hash或是B-
- 索引有哪几种,说说其含义和特点
- 什么是回表查询;索引的增删查实现
- 谈谈慢查询日志;如何查看数据库执行频次和耗时
- explain(解释)关键字的作用,其个字段的含义重要的大致说下
记录下验证了千万级数据查询再有索引情况下的速率提升之惊叹!
- 插入数据如何优化
- 主键优化
- orderby优化
- group优化
- limit优化
- count优化
- update优化
- 什么是视图,简述语法
- 什么是存储过程,简述语法
- 什么是触发器,简述语法
- 全局锁
- 表级锁有哪三类
- 行级锁有哪三类
ssS框架类
Java
基础
- 面向对象
- 字符型常量和字符串常量的区别
- 重载和重写的区别
- final关键字的作用是什么?
- String.StringBuffer、StringBuilder的区别
- 创建⼀个对象⽤什么运算符?对象实体与对象引⽤有何不同?
- 静态方法和实例方法有何不同
- 接口和抽象类的区别
- ==与equals
- hashCode 与equals
- 为什么Java中只有值传递?
- 获取用键盘输入常用的两种方法
- 泛型中extends和super的区别
- 深拷贝和浅拷贝
- synchronized关键字
- for循环中++i和i++的区别
集合
- List,Set,Map三者的区别
- Arraylist 与LinkedList区别
- ArrayList的扩容机制
- HashMap和Hashtable的区别
- HashSet如何检查重复
- ConcurrentHashMap线程安全的具…
- 集合框架底层数据结构总结
hashMap的底层实现
- 底层数据结构是什么样的
- 为什么要使用红黑树以及为什么不一开始就直接使用红黑树
- 什么时候会树化(意义在哪),树化的阈值为什么是8
- 什么时候会退化成链表(两种情况哦)
- 哈希表的索引是如何计算的,数组的容量问什么是2的n次幂
- hashMap的put流程是怎样的
- 扩容(加载)因子为何默认是 0.75f
- hashmap的key是如何设计的
单例设计模式
- 饿汉式单例的实现;如何预防反射和反序列化的破坏
- 如何实现枚举饿汉式,为何它不用担心线程安全的问题
- 懒汉单例的实现,为何获取对象的方法要加锁
- 上述懒汉单例的弊端在哪
- 双检锁单例模式中定义实例对象为何要用volatile修饰
- 内部类懒汉式如何实现
虚拟机篇
- jvm的内存结构是怎样的
- 方法区、永久代、元空间三者的关系
- 常见的jvm参数有哪些
- 三种垃圾回收算法是什么
- 什么是分代回收
- 描述下三色标记法
- 常见的垃圾回收器有哪些
- 描述下典型的导致内存溢出的情况
- 描述类加载的过程
- 类加载器有哪些
- 什么是双亲委派机制
- 谈一下强引用、软引用、弱引用、虚引用
- finalize的工作原理,他有什么缺点吗
谷粒学苑
数据模型