端午难得悠闲,复盘这段时间在:腾讯--道一云、步步高、蓝凌、蜜獾、创智和宇、中智、科创 等面试代表性问题
就po一张offer吧,其他的都差不多
集合
参见帖子 [集合通关](http://www.gotkx.com/archives/%E9%9B%86%E5%90%88%E9%80%9A%E5%85%B3)
讲讲了解的设计模式
总结定调:设计模式都是多态的体现,一共23种设计模式
面试我主要结合Spring讲了工厂、单例、代理模式,也能手写单例饿汉、双重校验锁。
回来查找资料有如下补充:
- 工厂设计模式 : Spring使用工厂模式通过BeanFactory、ApplicationContext 创建 bean 对象。
- 代理设计模式 : Spring AOP 功能的实现。
- 单例设计模式 : Spring 中的 Bean 默认都是单例的。
- 模板方法模式 : Spring 中 jdbcTemplate、hibernateTemplate 等以 Template 结尾的对数据库操作的类,它们就使用到了模板模式。
- 包装器设计模式 : 我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库。这种模式让我们可以根据客户的需求能够动态切换不同的数据源。
- 观察者模式: Spring 事件驱动模型就是观察者模式很经典的一个应用。
- 适配器模式 :Spring AOP 的增强或通知(Advice)使用到了适配器模式、spring MVC 中也是用到了适配器模式适配Controller。
并发和多线程
并发包有了解吗
线程通讯和JAVA内存模型
volatile关键字在cpu层面实现了什么
abc三个线程,怎么如何设置b线程优先执行c,其他线程无优先级关系
用过线程池吗?线程池构造方法参数意义
不同的情况应如何设置最大连接线程数和核心线程数
手写生产者消费者多线程实现
中间件(我的简历写的就是这三个):
Nginx:
如何实现负载均衡:
负载均衡算法:
Lua脚本了解吗:
ES:
数学原理清楚吗:
讲下代码里面的运用:
场景题:如何给不同权限的用户,展示不同的搜索结果
RabbitMQ:
常用的模式:
死信队列如何处理:
如何实现多线程消费:
非关系型数据库:
MongoDB:
和传统关系型数据库有什么优势?在项目里面用它干啥
缓存:
Redis:
为什么这么快,底层原理了解吗?
项目用途:
分布式锁了解吗?
集群搭建过吗?何做数据同步备份?
架构级别:
对SpinrgCloud的认知和使用:
后台接口如何保证幂等性:
分布式事务处理:
权限处理:
系统并发控制,限流熔断
数据库:
数据库事务特性
一致性、原子性、持久性、隔离性
数据库的一致性是怎么实现
BinLog
MVCC了解吗?
事务并发控制
数据库是基于什么树结构,有何特点?
B+树
数据库索引了解吗,通常如何使用的?
联合索引、主键索引
索引的原则
最左原则
如何实现数据库优化,聊聊实际遇到的问题
慢查询
Mysql分库和读写分离有实操吗,使用了什么工具实现,Mysql是开源的,其他版本的Mysql了解吗
Oracle和Mysql 漫谈下区别
巴拉巴拉
漫谈下数据库优化
巴拉巴拉
场景题:
- 一张一百万记录量的表,某个字段假设为0和1,分别占用50万记录,是否应该对该字段建立索引,依据是什么?
- 一张一百万记录量的表,在对某个字段Sum求和,太慢了,怎么优化?
- 联合索引三个字段,a_b_c,能命中的组合情况是?
网络:
TCP/IP了解吗,讲一下?
网络IO Socket编程了解吗?
Linux:
根目录下的几个文件夹分别存放什么类型的文件?
两种方式查看Java进程的日志?docker如何查看日志
文件描述符了解吗?
一个日志文件10g,如何快速查看呢?
直接使用 Java -jar 启动jar包有什么问题
前端:
NodeJs了解否?用途
Vue生命周期了解吗?
前端脚手架都用过什么?漫谈一下
无聊问题:好久没用,已经忘完,也不打算补习(认真脸)
- CSS类选择器怎么修改第一个该类的样式,并且修改内容
- 正则表达式替换xxx变成yyy
- 一个表格在前端怎么新增行/列,CSS/Jquery 的实现
撒花结尾:
面的越多,就发现自己的知识体系越浅薄,虽然拿了若干offer,并不满意,
老夫一定会进大厂的!