一、学海无涯,再出发!【2020.02.14-25】
前言:
金三银四跳槽季!跳槽不仅仅是因为薪资上面的差距,更多的是需要不断扩宽自己的视野,强迫自己走出舒适区,与高手过招才能有所成长。
经历了两周的面试,暂告一阶段了,在此期间认识到了自己的不足,也从此中学习了很多知识和思想,做个简单的复盘总结,下面就以时间线为基准,进行小结:
2月14日
17点:XXX公司
自我介绍+项目介绍+业务流程
MySQL:
- 索引(索引是什么、索引类型、为什么需要索引)
- 事务(ACID特性(原子性、一致性、隔离性、持久性),隔离级别,Spring里面的传播行为)
- 一条查询SQL是怎么执行的?
Redis:
- 常用的数据类型有哪些?
- 项目中的应用
SpringBoot:
- 自动装配流程
- 版本号:SpringBoot如何管理版本号的(版本仲裁中心)
- SpringBoot 如何整合 Redis
- 直接引入 Redis的 Starter,会导入redisTemplate组件;
- 可以自定义 Redis 的Starter,根据业务需求做定制;
- Spring、SpringMVC,SpringBoot、SpringCloud 各个之间的关系
多线程:
- 线程如何创建(四种方式)
- 线程的状态(Thread.State 枚举类)
- 线程池
- 七大参数
- 执行流程
- 需要注意什么问题
- 项目中如何应用
JDK7与JDK8区别
- Stream 流操作
- Lambda 表达式
- 函数式编程
- 接口新增特性
- 新增时间日期等 API
设计模式
- 了解哪些设计模式
- Spring中应用了哪些设计模式
- 实际工作中用到哪些设计模式
2月15日
2点:XXX公司
自我介绍+项目介绍+负责模块
项目设计
- 权限怎么设计的
- 银行卡签约
- OCR识别
- 对账文件
4点:XXX公司
个人介绍 + 项目流程
SpringCloud
- 常用组件:Nacos、Gateway、Feign、Hystrix
- 熔断器 Hystrix 怎么用?怎么实现的?
MySQL:
- 如果一个SQL执行很慢,你有什么思路(SQL优化过程)
- 查看是否建立索引,是否需要建立索引
- explain查询SQL执行计划,查看索引是否失效、进一步排查失败原因
- 什么情况下会导致索引失效,如何防止索引失效
- 如果一个 join 连接很慢,有什么思路
- 在join连接条件字段创建索引;
- 小表驱动大表
- 为什小表驱动大表?
- 索引
- 索引分类
- 聚簇索引与非聚簇索引区别
- 索引失效情况
- 建立索引 (a,b,c)
- a=10会走索引吗?会
- a=10, c = 10会走索引吗?会,但是不会走到底,会有ICP
- 哈希索引与 B+ 树索引
- 哈希索引不支持范围查询
- B树与B+树区别
- B+树索引演变过程:
- 二叉树—》斜树—》AVL—》B树—》B+树
- 存储引擎
- 了解哪些存储引擎(InnoDB、MyISAM、Memory,CSV)
- InnoDB 与 MyISAM有什么区别
多线程
- 如何创建线程,项目中如何应用
- 线程池,如何配置使用,需要注意什么
设计模式
- 了解哪些设计模式
- Spring中应用了哪些设计模式
Spring:
- IOC:怎么理解
- AOP:理解、原理及应用
SpringMVC执行流程
- 自定义注解
- 怎么理解的自定义注解
- 项目中用到了,怎么应用的
项目因为研发要延期,你会怎么做?
- 团结内部,提高开发效率
- 及时与测试、产品沟通,为了产品的安全,性能,我们需要做更多的考虑等
离职原因?
5点:XXX公司
项目介绍+业务流程(负责的模块、项目难点+项目亮点)
MySQL:
- 索引
- 索引是什么
- explain 的执行计划有哪些字段,代表什么意思
- 什么情况索引会失效
- 事务(传播行为)
- Spring中的传播行为是哪些?
- Required 与 Required_New
Spring:
- IOC 怎么理解,启动流程
- AOP 理解、原理、应用
SpringMVC执行流程
Java 基础
- 8种基本数据类型
- Integer 的缓存情况
- String的 == 与equals
- ArrayList与LinkedList区别
- 如何创建安全的 List 集合
- HashMap 的原理
2月16日
16点:XXX公司
HashSet 怎么保证元素不重复?
- hashcode与equals
TreeSet 数据结构
- 排序的Set,红黑树
BIO读取文件用什么流
- 输入流
怎么比较两个对象?
- 比较器(Comparator与Comparable)
知道并行流吗,并行流的线程池多大?
Fork/Join 分支/合并框架知道吗?
LocaleDate与unit包中的Date 有什么区别?
JDK8中 Stream 流知道吗?
Redis如何查看所有的key?
- keys *
- scan
MySQL的InnoDB的隔离级别?
- 四种级别
AVL查询的时间复杂度?
- O(logn)
2月17日
10点:XXX公司
项目介绍+业务逻辑+自己负责的模块
- 技术栈
- 设计模式
- 服务部署情况
- 自动化测试情况
- Spring
- 常用注解
- @Bean作用是什么,怎么实现的
- AOP 理解、原理、应用
- Jekins
- Docker 常用命令
11点:XXX公司
Java基础:
- 八种基本数据类型
- float a = 3.4可以吗?
集合:
- 常用集合、使用的数据结构、是否线程安全
- ArrayList和LinkedList:数据结构、复杂度
- HashMap8的实现,线程为什么不安全,怎么保证线程安全(ConcurrentHashMap)
- 链表与红黑树的时间复杂度
- ConcurrentHashMap 原理(1.7与1.8)
多线程:
- 线程状态
- 如何创建线程、线程池(如何使用,需要关注哪些点)
- run与start方法区别
- 多线程的应用场景
- 异步情况下服务宕机了,怎么办
JVM:
- 垃圾回收过程
- 垃圾回收器CMS
- CMS执行流程
- 了解其他回收器吗?
- G1、ZGC
MySQL:
- 存储引擎常用哪些,什么区别?
- SQL查询非常慢有什么思路?
- 多表联查慢有什么思路?
- 创建索引需要注意什么,性别可以建立索引吗
- 用到了哪些数据库连接池?
- Druid、HikariCP
MyBatis:
- MP
- 通过Mapper(好处、原理)
- MyBatis自增的主键
- 一对多,多对一用什么标签定义
Redis:
- 数据类型有哪些,常用哪一些
- 存储String类型需要注意什么?
- key设置过期时间,很多的key同时放进来会有什么问题,大量写入ttl的key,会造成雪崩问题,怎么解决?
SpringCloud:
- 基础的组件
- 服务间调用流程
- 每次调用都走注册中心吗
- 注册中心宕机了还能调用吗
Docker:
- Docker了解吗
- Docker常用命令
- 怎么理解Docker
Linux常用命令:
- top、ps、du、free、grep、find、jps、df
生产问题:
- 有没有遇到生产问题,怎么排查?
介绍一下项目,工作中遇到过什么难点,怎么解决
14点:XXX公司
MySQL:
- 存储引擎
- 存储引擎有哪些
- InnoDB与MyISAM区别
- 索引
- 索引类型
- 索引失效情况
- 日期类型字段用什么?Date、DateTime、TimeStamp区别
SpringCloud
- 常用组件
- 服务间调用 Feign
- 熔断器 Hystrix
SpringBoot
- 常用注解
- Bean组件的生命周期
- 如何读取配置文件的值
- 如何自定义配置
19点:XXX公司
个人介绍+项目介绍+业务流程介绍+项目难点(亮点)
MySQL:
- 存储引擎:
- 了解哪些存储引擎
- InnoDB 与MyISAM 区别
Redis:
- 常用数据类型有哪些,它们的数据结构是什么?
- Redis 的过期策略有哪些?
- 缓存雪崩是什么,怎么办?
- 把key的过期时间分散一下
- 缓存击穿是怎么,怎么办?
- 数据快要过期的时候,异步更新设置过期时间
- 缓存穿透是怎么,怎么办?
- 先查询,如果为空也返回,设置合理的过期时间;
- 布隆过滤器 Bitmaps
- 拦截不合理请求
- 用Redis哪一个数据结构可以实现延迟队列?
- ZSet
Java:
- 集合:
- ArrayList与LinkedList区别?
- 如何创建线程安全的 List 结构?
- HashMap(JDK8)
- 底层数据结构?
- 数组+链表/红黑树
- 为什么长度是2个幂次方?
- hash % length == hash&(length-1)
- 如何进行哈希扰动?
- 高16位与低16位的异或
- 哈希冲突怎么办?
- 拉链法(尾插)
- 什么时候会进行扩容
- 树阈值 = 8,数组长度 > 64
- 线程不安全体现在哪里?
- 会造成数据覆盖
- 创建线程安全的Map
- HashTable
- Collections.synchronizedMap
- ConcurrentHashMap
- HashTable怎么实现安全的?
- synchronized锁,性能不好
- ConcurrentHashMap
- JDK7:Segment 分段锁
- ReentrantLock+ Segment + HashEntity。
- 锁粒度:基于 Segment,包含多个HashEntity
- JDK8:CAS+synchronized+Node+红黑树
- 锁粒度:Node(首节点),锁粒度降低
- JDK7:Segment 分段锁
- 底层数据结构?
并发问题:
- synchronized与ReentrantLock的区别
- synchronized的锁升级(无锁—》偏向锁—》轻量级锁—》重量级锁)
- ReentrantLock 怎么实现的?
- CAS + AQS
- synchronized解决了哪些问题?
- 原子性与可见性
- volatile 解决了什么问题?怎么解决的
- 可见性与重排序,通过插入内存屏障,遵循 happends-before 规则
- 为什么会有可见性,有序性等问题
- 因为会指令重排序
- 会什么会有指令重排序
- 处理器与编译器为了提高性能会对指令进行重排序
- JMM的重排序:https://blog.csdn.net/chenssy/article/details/56003920
JVM:
- 运行时数据分区情况,每一区域负责什么?
- 五部分区域
- OOM会发生在哪里?
- 堆区与方法区
- 垃圾回收算法有哪些?
- 复制算法、标记清除、标记整理、分代算法
- 垃圾回收器有哪些?
- CMS、G1、ZGC
- JVM的常用参数有哪些?
- -Xms、-Xmx、-Xss、-Xsx、
- 堆栈的内存大小设置、方法区的空间设置、新生代的比例情况、指定使用的垃圾回收器
2月18日
15点半:XXX公司
17点:XXX公司
自我介绍+项目介绍
Java
- 8种基本数据类型
- Integer 的缓存问题
- 0.1 * 3 == 0.3 吗?
- 不等于,浮点数计算存在误差,会丢失精度
集合:
- ArrayList与LinkedList
- HashMap
Spring:
- IOC
- AOP
- MVC流程
- 常用注解
- Bean的生命周期
SpringBoot:
- 自动配置
- 如何读取配置文件的值
2月21日
10点:XXX公司
15点半:XXX公司
2月22日
14点:XXX公司
2月23日
15点:XXX公司
笔试(题目是英文
一、学海无涯,再出发!【2020.02.14-25】相关推荐
- Codeforces Round #619 (Div. 2) 2020.02.14
文章目录 A 题目 翻译 例子 思路 代码 B 题目 翻译 例子 大意 思路 代码 C 题目 翻译 例子 大意 思路 代码 A 题目 You are given three strings a, b ...
- 寒假训练八(优先队列)2020.02.14(7题)
寒假训练八(优先队列)id:530 Problem:A 买饭-优先队列 Description 林大食堂非常拥挤,得排队买饭,陈老师也是一样的! 有n个人在一个卖饭窗口前排队买饭,假如每个人买饭的时间 ...
- 如果你对自己有要求 | “回顾,再出发”——记2020软工提问回顾与个人总结
回顾,再出发 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 完成一次完整的软件开发经历 并以博客的方式 ...
- 【年终总结】辞旧迎新,2020,我们再出发
时光飞逝,2020,终将还是来了,虽说我们还在怀念逝去的2019,但,我们不得不面对2020的现实,看到很多公众号都晒出了自己的年终总结,我们IT进阶之旅公众号也不例外,为了纪念过去一年的来之不易,同 ...
- 2019已落幕,2020再出发
虽互不曾谋面,但希望能和你成为笔尖下的朋友 以读书,技术,生活为主,偶尔撒点鸡汤 不作,不敷衍,意在真诚吐露,用心分享 点击左上方,可关注本刊 (点击蓝色图标,可收听音频) 前言 撰文:川川 年末将至 ...
- 2020互联网岳麓峰会“软件再出发论坛”成功举办
岳麓山下,风起云涌:湘江之滨,七年之约,9月9日,第七届互联网岳麓峰会首次设立的"软件再出发论坛"在长沙隆重举行."软件再出发论坛"由湖南省工业和信息化厅.长沙 ...
- 沉淀再出发:Spring的架构理解
沉淀再出发:Spring的架构理解 一.前言 在Spring之前使用的EJB框架太庞大和重量级了,开发成本很高,由此spring应运而生.关于Spring,学过java的人基本上都会慢慢接触到,并且在 ...
- 沉淀再出发:PHP的中级内容
沉淀再出发:PHP的中级内容 一.前言 前面我们介绍了PHP的简单的语法知识以及相关的用法,接下来我们将PHP+mysql以及PHP+ajax结合起来进行研究. 二.PHP+mysql ...
- 沉淀再出发:关于java中的AQS理解
沉淀再出发:关于java中的AQS理解 一.前言 在java中有很多锁结构都继承自AQS(AbstractQueuedSynchronizer)这个抽象类如果我们仔细了解可以发现AQS的作用是非常大的 ...
- python 去除panda安装包_沉淀,再出发:python中的pandas包
沉淀,再出发:python中的pandas包 一.前言 python中有很多的包,正是因为这些包工具才使得python能够如此强大,无论是在数据处理还是在web开发,python都发挥着重要的作用,下 ...
最新文章
- vc++ 6.0对话框上无法显示中文(乱码)
- swift学习笔记-UI篇之UIImageView
- CSS BOX类型和display属性
- 【Linux基础】crontab定时命令详解
- OC基础--OC中的类方法和对象方法
- Nacos2.0的K8s服务发现生态应用及规划
- AJAX使用技巧:如何处理书签和翻页按扭
- Redis分布式锁如何提高可用性
- queue模块的使用
- android8.0学习(1)---Android Treble 概述
- Python基础知识之二
- electron打包失败在下载nsis的地方
- 基于JavaMail的Java邮件发送:复杂邮件发送
- 正则表达式常用的校验方法
- 梦幻西游手游经验任务链计算机,梦幻西游手游经验和道具任务链攻略
- origin导出图片时出现input graph is invalid
- 苹果手机功能大全介绍_苹果手机功能大全,这些你都知道吗?
- 读书印记 - 《心流:最优体验心理学》
- android定位周边,Android 使用高德SDK编写周边搜索定位
- IDEA插件系列(92):Rainbow Fart插件——吹彩虹屁
热门文章
- php excel加密,excel工作表加密怎么设置?
- 0基础可不可以学大数据
- 问题解决:无法解析的外部符号 _imp_XXXXXXXXX
- maven dependency 警告:Overriding managed version XXX for XXX
- JavaScript中的动画效果
- 一种绝对提高开发水平的方法(转)
- vue-cli脚手架和npm init vue@latest 区别
- 计算机显示错误屏幕,如何解决显示器分辨率错误
- ArchLinux Plasma 简洁优雅桌面环境设置
- 如何调换手机桌面位置_手机桌面很乱怎么整理?简单七招让你效率更高!
文章目录 A 题目 翻译 例子 思路 代码 B 题目 翻译 例子 大意 思路 代码 C 题目 翻译 例子 大意 思路 代码 A 题目 You are given three strings a, b ...
寒假训练八(优先队列)id:530 Problem:A 买饭-优先队列 Description 林大食堂非常拥挤,得排队买饭,陈老师也是一样的! 有n个人在一个卖饭窗口前排队买饭,假如每个人买饭的时间 ...
回顾,再出发 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任建) 这个作业的要求在哪里 提问回顾与个人总结 我在这个课程的目标是 完成一次完整的软件开发经历 并以博客的方式 ...
时光飞逝,2020,终将还是来了,虽说我们还在怀念逝去的2019,但,我们不得不面对2020的现实,看到很多公众号都晒出了自己的年终总结,我们IT进阶之旅公众号也不例外,为了纪念过去一年的来之不易,同 ...
虽互不曾谋面,但希望能和你成为笔尖下的朋友 以读书,技术,生活为主,偶尔撒点鸡汤 不作,不敷衍,意在真诚吐露,用心分享 点击左上方,可关注本刊 (点击蓝色图标,可收听音频) 前言 撰文:川川 年末将至 ...
岳麓山下,风起云涌:湘江之滨,七年之约,9月9日,第七届互联网岳麓峰会首次设立的"软件再出发论坛"在长沙隆重举行."软件再出发论坛"由湖南省工业和信息化厅.长沙 ...
沉淀再出发:Spring的架构理解 一.前言 在Spring之前使用的EJB框架太庞大和重量级了,开发成本很高,由此spring应运而生.关于Spring,学过java的人基本上都会慢慢接触到,并且在 ...
沉淀再出发:PHP的中级内容 一.前言 前面我们介绍了PHP的简单的语法知识以及相关的用法,接下来我们将PHP+mysql以及PHP+ajax结合起来进行研究. 二.PHP+mysql ...
沉淀再出发:关于java中的AQS理解 一.前言 在java中有很多锁结构都继承自AQS(AbstractQueuedSynchronizer)这个抽象类如果我们仔细了解可以发现AQS的作用是非常大的 ...
沉淀,再出发:python中的pandas包 一.前言 python中有很多的包,正是因为这些包工具才使得python能够如此强大,无论是在数据处理还是在web开发,python都发挥着重要的作用,下 ...