@wxf
2018-09-04T08:20:45.000000Z
字数 3279
阅读 1859
面试系列
学习计划与阶段目标:
下面的学习计划并非一成不变按部就班,可以根据实际情况穿插学习。但每年度的总体技术方向(划重点的)不要变。知识体系结构和项目实战是重中之重。
2018:造轮子
方向 | 目标 | 学习资料 | 状态 |
---|---|---|---|
MySQL | 熟悉MySQL性能优化及原理 | 尚硅谷MySQL高级 |
进行中 |
微信点餐实战 | 学习springcloud;学习Vue.js | 慕课网实战视频 | 未学 |
企业级电商项目实战 | 奠定项目架构基础(Redis/nginx等) | 慕课网实战视频 | 未学 |
微信小程序开发 | 学习小程序开发,实战开发一套可推广的企业站点小程序(Vue.js),在此基础上开发一套小程序商城 | 极客时间 | 未学 |
权限管理实战 | 打造后台管理框架 | 慕课网实战视频 | 未学 |
MyBatis | 实现通用Mapper工具,理解原理 | 尚硅谷-通用Mapper |
未学 |
Linux | 深入了解Linux、熟练实操 | 尚硅谷-Linux-经典升级 |
未学 |
监控系统 | 监控之道 — 产品生死存亡之道 |
完成上述计划的工程中顺带学习并运用JDK8新特性、Idea。初步形成适合自己发展学习的知识体系结构。
2019:强化内功
==========驱动==========
一枝花算不算浪漫——面试整理
专业技能
程序员七问
Web系统大规模并发:电商秒杀与抢购
一个牛逼的coder是这样诞生的
互联网java架构技术路线规划推荐
集合相关问题整理
java 常用集合list与Set、Map区别及适用场景总结
HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!
Java内存模型之原子性、有序性、可见性以及Happen-Before(先行发生)规则详解
全面理解Java内存模型
JVM相关面试题及答案
面试准备之JVM的组成、垃圾回收机制
https://www.zhihu.com/question/27339390
Redis相关问题整理
Spring极速集成注解redis实践
NoSQL - Redis应用场景
【深入学习Redis】Redis内存模型
【深入学习Redis】持久化
redis批量写入?
redis可以干啥?
1. 在使用nginx+Tomcat搭建集群环境时会遇到session共享问题,那么利用redis+cookie可以解决session共享问题
2. redis分布式锁
3. redis数据缓存
@EnableCaching 在spring boot的启动类中添加该注解
@Cacheable [cacheNames,key]
@CachePut [cacheNames,key] 他会将返回内容设置到缓存中。
@CacheEvict [cacheNames,key] 清除缓存
代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。
Nginx相关问题整理
全面了解 Nginx 到底能做什么
针对nginx,我们来具体聊聊正向代理与反向代理区别
如果有人问你数据库的原理,叫他看这篇文章
MySQL 中的重做日志,回滚日志 ,以及二进制日志的简单总结
MySQL数据库(5.6)优化
关于数据库的优化大致给出以下几个方向:
1. 优化表结构,对常用字段和非常用的字段分开存储
2.优化SQL,合理使用索引
3.做数据库读写分离,减少磁盘IO
4.尝试使用缓存,不要让数据都走数据库
5.对业务做垂直拆分
6.对表做水平拆分Tomcat7优化
1. 启用NIO运行模式
2. 启用连接池
3. 优化HTTP连接器配置
4. 禁用AJP连接器JVM优化
Linux相关问题整理-完结
项目中用到了哪些设计模式
浅谈开发中常用的设计模式
能画出常用设计模式的UML图
Git简介 - 系列
常用 Git 命令清单
Git常用命令速查手册
Git 的 4 个阶段的撤销更改
quartz 定时任务的总结
Spring Boot集成持久化Quartz定时任务管理和界面展示
freemarker list (长度,遍历,下标,嵌套,排序)
关于HTTP协议,一篇就够了
彻底弄懂HTTP缓存机制及原理
1.队列先进先出,栈先进后出。
2. 对插入和删除操作的"限定"。 栈是限定只能在表的一端进行插入和删除操作的线性表。 队列是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。 从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同。但它们是完全不同的数据类型。除了它们各自的基本操作集不同外,主要区别是对插入和删除操作的"限定"。 栈和队列是在程序设计中被广泛使用的两种线性数据结构,它们的特点在于基本操作的特殊性,栈必须按"后进先出"的规则进行操作,而队列必须按"先进先出" 的规则进行操作。和线性表相比,它们的插入和删除操作受更多的约束和限定,故又称为限定性的线性表结构。
3.遍历数据速度不同。栈只能从头部取数据 也就最先放入的需要遍历整个栈最后才能取出来,而且在遍历数据的时候还得为数据开辟临时空间,保持数据在遍历前的一致性队列怎不同,他基于地址指针进行遍历,而且可以从头或尾部开始遍历,但不能同时遍历,无需开辟临时空间,因为在遍历的过程中不影像数据结构,速度要快的多
栈(Stack)是限定只能在表的一端进行插入和删除操作的线性表。
队列(Queue)是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。
从"数据结构"的角度看,它们都是线性结构,即数据元素之间的关系相同。但它们是完全不同的数据类型。除了它们各自的基本操作集不同外,主要区别是对插入和删除操作的"限定"。
栈和队列是在程序设计中被广泛使用的两种线性数据结构,它们的特点在于基本操作的特殊性,栈必须按"后进先出"的规则进行操作,而队列必须按"先进先出"的规则进行操作。和线性表相比,它们的插入和删除操作受更多的约束和限定,故又称为限定性的线性表结构。可将线性表和栈及队列的插入和删除操作对比如下:
线性表
Insert(L,i,x)
(1≤i≤n+1)
Delete(L,i)
(1≤i≤n)
如线性表允许在表内任一位置进行插入和删除
栈
Insert(L,n+1,x)
Delete(L,n)
而栈只允许在表尾一端进行插入和删除
队列
Insert(L,n+1,x)
Delete(L,1)
队列只允许在表尾一端进行插入,在表头一端进行删除
单点登录相关问题
单点登录(SSO),从原理到实现
CAS单点登录原理解析
CAS单点登录原理以及debug跟踪登录流程