[关闭]
@wxf 2018-09-04T08:20:45.000000Z 字数 3279 阅读 1879

知识体系整理

面试系列


学习计划与阶段目标:

下面的学习计划并非一成不变按部就班,可以根据实际情况穿插学习。但每年度的总体技术方向(划重点的)不要变。知识体系结构和项目实战是重中之重。

==========驱动==========
一枝花算不算浪漫——面试整理
专业技能
程序员七问
Web系统大规模并发:电商秒杀与抢购
一个牛逼的coder是这样诞生的
互联网java架构技术路线规划推荐

Java基础

Java基础复习
Java基础问题整理

集合

集合相关问题整理
java 常用集合list与Set、Map区别及适用场景总结
HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!

多线程

多线程相关问题整理

IO

IO相关问题整理

网络编程

网络编程相关问题整理

Java虚拟机-JVM

Java虚拟机相关问题整理

Java内存模型之原子性、有序性、可见性以及Happen-Before(先行发生)规则详解
全面理解Java内存模型
JVM相关面试题及答案
面试准备之JVM的组成、垃圾回收机制
https://www.zhihu.com/question/27339390

Spring

Spring相关问题整理

SpringMVC

SpringMVC相关问题整理

Struts2

Strust2总结及在面试中的一些问题

MyBatis

MyBatis相关问题整理

Redis缓存

Redis相关问题整理
Spring极速集成注解redis实践
NoSQL - Redis应用场景
【深入学习Redis】Redis内存模型
【深入学习Redis】持久化
redis批量写入?

redis可以干啥?
1. 在使用nginx+Tomcat搭建集群环境时会遇到session共享问题,那么利用redis+cookie可以解决session共享问题
2. redis分布式锁
image_1c7fp6rp713odfsj1ak41d52nnip.png-145.8kB
3. redis数据缓存
@EnableCaching 在spring boot的启动类中添加该注解
@Cacheable [cacheNames,key]
@CachePut [cacheNames,key] 他会将返回内容设置到缓存中。
@CacheEvict [cacheNames,key] 清除缓存

微信开发

微信开发相关问题整理

Nginx

代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

Nginx相关问题整理
全面了解 Nginx 到底能做什么
针对nginx,我们来具体聊聊正向代理与反向代理区别

消息队列/消息中间件

消息中间件相关问题整理

MySql相关

如果有人问你数据库的原理,叫他看这篇文章
MySQL 中的重做日志,回滚日志 ,以及二进制日志的简单总结

MySql的读写分离

性能优化

性能优化相关问题整理-完结
idea的一次jvm调优

MySQL数据库(5.6)优化
关于数据库的优化大致给出以下几个方向:
   1. 优化表结构,对常用字段和非常用的字段分开存储
   2.优化SQL,合理使用索引
   3.做数据库读写分离,减少磁盘IO
   4.尝试使用缓存,不要让数据都走数据库
   5.对业务做垂直拆分
   6.对表做水平拆分

Tomcat7优化
    1. 启用NIO运行模式
    2. 启用连接池
    3. 优化HTTP连接器配置
    4. 禁用AJP连接器

JVM优化

Linux

Linux相关问题整理-完结

设计模式

dubbo、zookeeper分布式

熟悉RESFUL

微服务架构

微服务架构相关问题整理

Git

bg2015120901.png-67kB
Git简介 - 系列
常用 Git 命令清单
Git常用命令速查手册
Git 的 4 个阶段的撤销更改

其他常见问题

定时任务动态管理

quartz 定时任务的总结
Spring Boot集成持久化Quartz定时任务管理和界面展示

freemaker

freemarker list (长度,遍历,下标,嵌套,排序)

正则表达式问题

正则表达式相关问题

业务问题

线上账务系统余额并发更新问题记录

HTTP协议

关于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跟踪登录流程

跨域问题

跨域相关问题整理

数据库问题

参考资料:数据库总结
参考资料:数据库概念相关

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注