赵坤的个人网站
前端优化指南
初级/中级/高级前端面试进阶题
收录各大公司最全前端面试题
HTML
| HTML | ||
|---|---|---|
| HTML 语义化 | HTML5 新特性 | meta |
CSS
| 布局 | |||||
|---|---|---|---|---|---|
| 移动端响应式布局 | 垂直居中 | CSS 盒模型 | position | display | CSS 选择器 |
| BFC 和 IFC | 左固定右自适应 | 两侧固定中间自适应 | CSS 九宫格 | flex 布局 | 清除浮动 |
| CSS3 新特性 | CSS 画三角形 | 三栏等宽 | CSS 画半圆 | 画正方形 | CSS 画扇形 |
| 动画 | 画圆 | CSS 单位 (px/em/rem/...) |
JavaScript
| Array | |||
|---|---|---|---|
| 检测数组 | 数组去重 | 数组乱序 | 数组扁平化 |
浏览器
| 浏览器 | |||||
|---|---|---|---|---|---|
| 事件循环 | 缓存 | HTTP | CDN | 存储 | DOM 操作 API |
| Event | 重绘和重排 | HTTP2 | HTTP3 | HTTPS | 冒泡捕获 |
| 输入 URL 后发生了什么 | 浏览器如何渲染页面 | DNS | Web 安全 |
综合性解决方案
| Solution | ||
|---|---|---|
| 跨域 CORS | 节流和防抖 | 跨浏览器兼容 |
框架
| VUE | |
|---|---|
| VUE 生命周期 | nextTick |
初级/中级/高级 Java 面试题
收录全网最全 Java 相关的 (分布式、MqSQL、中间件) 面试题
Java 基础
| 并发 | |||||
|---|---|---|---|---|---|
| 多线程实现方式 | synchronized | ThreadLocal | 锁 | 线程池 | volatile |
| ConcurrentHashMap 1.7 | ConcurrentHashMap 1.8 |
| 集合类 | ||
|---|---|---|
| 集合类关系图 | ArrayList | LinkedList |
| 基础 |
|---|
| finally |
中间件
| Redis |
|---|
| Kafka | |
|---|---|
| Kafka 高吞吐量怎么实现的 | 为什么阿里要自研 RocketMQ |
| Sentinel |
|---|
| Sentinel 与 Hystrix 的对比 |
架构
| 系统设计 | ||
|---|---|---|
| 秒杀系统 | 红包算法 | 微博存储系统设计 |
发散思维
| 点是否在三角形内 |
算法面试题
本专栏的面试题来自于牛客网、一亩三分地、LeetCode、LintCode等网站,覆盖了一线互联网如BAT、TMD、微软、亚马逊等巨头,在校招或者社招的时候最容易出的算法面试题。
数组
| 数组 | ||
|---|---|---|
| 环形数组(微软) | 最大子数组之和为 K(微软) | 下一个排列(微软) |
| 两个有序数组合并后的中位数(微软) | 买卖股票(微软) | 生成螺旋矩阵(微软) |
树
| 树 | ||
|---|---|---|
| 二叉搜索树中删除一个节点(微软) | 二叉搜索树中新增一个节点(微软) | 二叉树的直径(微软、头条) |
| 中序遍历的下一个节点 | 二叉树最大路径和(微软) | 二叉树非递归中序遍历(微软) |
| 二叉树最近公共祖先(微软) | 一颗二叉树是否是另外一颗的子树(微软) |
DFS
| DFS | |
|---|---|
| WordLadder(微软、阿里) | 二维数组寻找最长的单调递增序列(微软) |
栈
| 栈 | |
|---|---|
| 写一个计算器(逆波兰表达式)(微软) | MinStack(微软) |
排序
| 排序 | ||
|---|---|---|
| PancakeSorting(微软) | 颜色排序(网易、阿里) | 堆排序(微软) |
| 链表归并排序 | 快排序 | 归并排序 |
| 栈排序(美团) | 磁盘归并排序(微软) |
字符串
| 字符串 | |
|---|---|
| 找出最多 K 个不同字符的最长子串(微软) | 两个字符串整数相加(微软) |
动态规划
| 动态规划 | ||
|---|---|---|
| 二维矩阵数值和最小的路径(微软) | 最小火车票费用(亚马逊) | 最长递增子序列 LIS(微软) |
链表
| 链表 | |
|---|---|
| 链表是否有环(微软) | 找出链表环的入口节点(微软) |
回溯题
| 回溯 | |
|---|---|
| 组合总和 | 为运算表达式设计优先级(头条) |
数学
| 数学 |
|---|
| 开根号(微软) |
其它
| 读写:5 个线程读 1 个线程写(微软) |
计算机网络协议
| 网络协议 | |||||
|---|---|---|---|---|---|
| DHCP | HTTP | HTTP2 | HTTP3 | HTTPS | CDN |
| DNS |
Git 教程
目录
- Git 配置用户名和邮箱
- 创建 Git 仓库
- Git 查看文件差异
- Git 重置
- Git checkout
- Git 保存当前进度
- Git 多次提交合并成一次提交
- Git 分支
- Git 分支合并
- Git 解决冲突
- Git tag
- Git add 和 Git rm
- Git push 和 Git pull
- Git commit
- Git .ignore 文件
Git 的四个区
RocketMQ
RocketMQ 是阿里巴巴集团开源的一款分布式消息中间件,其采用纯 Java 语言编写,本博客基于 RocketMQ 4.2.0 版本,为大家分析和讲解其内部几个关键模块的运行原理。
目录: