/to-be-geeker

Primary LanguageJavaMIT LicenseMIT

程序员成为极客之路

一、编程语言

2.1 编译语言

(1)三方网址
(2)博客
  1. idea集成Docker实现SpringBoot微服务镜像打包一键部署
  2. java垃圾回收机制
  3. java类加载机制
  4. java类加载机制
  5. Java如何优雅的写代码
  6. java中的静态代码块、构造代码块以及构造函数的初始化顺序
  7. Java中arraylist.remove提示索引越界异常
  8. JVM垃圾收集时的并发可达性分析
  9. jvm虚拟机性能监控与故障处理工具
  10. springboot+mybatis读写分离
  11. springBoot操作redis
(1)三方网址
  1. GoLang技术栈
  2. Golang 入门到精通教程
  3. Golang标准库文档
  4. 《深入解析Go》
  5. 《Go 编程基础》|github
  6. 《Go 语言设计与实现》
(2)博客
  1. go引入三方包
  2. go语言特征
  3. Go语言学习笔记.md
  4. GO语言中的闭包.md

2.2 脚本语言

1 PHP

  1. cgi、php-cgi、fast-cgi、php-fpm的优缺点以及区别?
  2. opcache工作原理
  3. new self和new static的区别

2 shell

3 python

4 lua

5 JavaScript

三、中间件

1 kafka

3.2 全文检索

四、云原生

4.1 docker

五、计算机基础

  1. 在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤
  2. 字节一面:TCP 三次握手,问的好细! | reference
  3. TCP 重传、滑动窗口、流量控制、拥塞控好难?看完图解就不愁了 | reference
  4. 美团二面:TCP 四次挥手,可以变成三次吗? | reference
  5. 硬不硬你说了算!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题 | reference
  6. 告别 TCP! | reference
  7. TCPIP协议中的三次握手和四次挥手
  8. 字节一面:服务端挂了,客户端的 TCP 连接还在吗? | reference
  9. 拔掉网线后, 原本的 TCP 连接还存在吗? | reference

5.1.1 七层协议

5.1.2 五层协议

5.2 操作系统

1 内存管理

(1)虚拟内存

2 进程与线程

(1)进程与线程基础
(2)进程间通信
(3)多线程同步
(4)死锁
(5)悲观锁和乐观锁

3 调度算法

(1)进程调度算法
(2)页面置换算法
(3)磁盘调度算法

5.3 数据库

  1. MySQL查询原理
  2. MySQL索引原理
  3. MySQL修改大数据表结构时的风险与解决办法
  4. MySQL中truncate和delete删除数据的区别
  5. MySQL最左匹配原则
  6. update table set a = a+ 1 where id = 1是否存在线程安全问题
  7. MySQL 是怎么加行级锁的?(为什么使用select * form table ... for updated的查询条件不走索引会所全表) | reference
  8. mysql幻读 |reference
  9. 美团二面:考我幻读,结果答的不好 | reference
  1. 如何用redis实现分布式锁

5.4 Linux

1 查日志

2 awk | ansible | sed

3 搭建代码托管平台 | gitlab

六、监控

6.2 Grfana

七、分布式

  1. 分布式事务如何保证数据的一致性
  2. 如何设计幂等
  3. 分布式的设计与实现