• 欢迎来到本博客,希望可以y一起学习与分享

复习大纲

笔记 benz 1个月前 (07-16) 181次浏览 0个评论 扫描二维码
文章目录[隐藏]

PHP

PHP执行原理
数据类型 – PHP手册笔记
搞定PHP面试 – 变量知识点整理

PHP 引用是个坑,请慎用(要分清变量引用与对象引用)
搞定PHP面试 – 变量的引用赋值与传值赋值
PHP中对象的引用传递

PHP 垃圾回收与内存管理指引
【转】浅谈PHP5中垃圾回收算法(Garbage Collection)的演化

PHP 运行模式

PHP面向对象设计五大原则(SOLID)梳理总结
PHP常见三种设计模式:单例、工厂、观察者
(扩展foreach / yield原理)
PHP的迭代器和生成器
浅入理解 PHP 中的 Generator
PHP学习笔记系列:PHP生成器概览
PHP中的 Iterator 与 Generator

PHP反射机制
浅析如何通过PHP类的反射来实现依赖注入
反射在 PHP 中的应用
PHP反射机制


PHP autoload 机制详解
PHP自动加载功能原理解析
Composer的Autoload源码实现——启动与初始化
composer 自动加载

php性能优化
PHP的性能优化方法总结
PHP性能优化

PHP7革新与性能优化
php中弱语言类型的底层实现

gzcompress的坑

yii2框架开发之安全xss、csrf、sql注入、文件上传漏洞攻击

PHP面向对象编程:面向对象概念、基本实践、高级实战、PHP面向对象特殊实践

PHP 高级面试题 – 如果没有 mb 系列函数,如何切割多字节字符串

框架原理

容器
门面
AOP切面编程
拦截器
Composer自动加载原理
手把手教你发布自己的 Composer 包

扩展

史上最难PHP笔试题答案
php易错笔记-类型
PHPer面试指南-PHP 篇

MySQL

我必须得告诉大家的MySQL优化原理
高级9、MySQL数据库架构、优化、原理详解
数据库性能优化详解

MySQL 锁机制
Mysql锁机制介绍
一篇搞定 MySQL 锁机制面试
MySQL InnoDB锁机制全面解析分享
MySQL常用存储引擎之MyISAM
MySQL数据库InnoDB引擎行级锁锁定范围详解

死锁
MySQL产生死锁的根本原因及解决方法

更新丢失
MYSQL使用锁解决并发下的更新丢失问题


B树与B+树
B+树的增删查过程
Mysql联合索引最左匹配原则
[译] MYSQL索引最佳实践
mysql索引优化面试题 90%程序员面试会遇到的索引优化问题
如何选择哪个字段作为索引
联合索引的使用
什么情况索引会失效


MySQL性能管理及架构设计(一):什么影响了数据库查询速度、什么影响了MySQL性能
MySQL性能管理及架构设计(二):数据库结构优化、高可用架构设计、数据库索引优化
MySQL性能管理及架构设计(三):SQL查询优化、分库分表 – 完结篇

Mysql存储引擎及选择方法


找出慢查询
explain SQL语句,尽量避免全表扫描,使用索引

Apache与NGINX

Nginx为什么比Apache Httpd高效:原理篇
Nginx配置文件详解
初步探索Nginx高并发原理
nginx 关于Nginx的一些优化(突破十万并发)

缓存

缓存雪崩、缓存穿透、缓存更新了解多少?
Redis闲谈(1):构建知识图谱
阿里RocketMQ如何解决消息的顺序&重复两大硬伤?

扩展

布隆过滤器(Bloom filter)

数据结构

[PHP内核探索]PHP中的哈希表
HashMap 源码详细分析(JDK1.8)
分享HashMap的实现原理

网络

osi七层架构
TCP/IP三次握手与四次挥手
Http状态码
请求体/响应体
ajax
跨域以及解决

Linux

常用的命令
IO多路复用机制

框架

Swoole

工作原理
进程、线程、协程
生产消费模型
线程池
阻塞、非阻塞、同步、异步
关于MQ,你必须知道的
MQ解决消息重发–做到幂等性
浅谈消息队列的原理及优势

问题

redis

一句话说明什么是Redis?
为什么要用缓存?
Redis的优缺点?
Redis的过期策略?
Redis的内存淘汰机制有几种,分别是那几个,各种有什么用,如何配置?
什么是Redis的管道,有什么用?
Redis支持事务吗?相关命令是什么?
Redis支持多少种数据类型,分别是什么,底层的实现方式?
Redis有哪些用途?分别利用了Redis的哪个指令?
Redis怎么实现持久化?
Redis如何实现集群?
Redis如何实现分布式锁?
Redis和Memcache对比?
Redis为什么这么快?
描述主从数据同步、断线后的部分同步?
如果主Redis挂了怎么办?

Redis存在的问题及解决方案:
缓存数据库的双写一致性的问题?
缓存雪崩问题?
缓存穿透问题?
缓存的并发竞争问题?

扩展:
说说HashMap?
什么是布隆过滤器,描述它的原理?
系统有多少种换页算法,描述一下Redis采用的LRU算法?

MySQL
MySQL的三种锁以及它们的优缺点?
引擎与锁?
查询表锁争用情况?
表锁模式以及表锁兼容性?
如何加表锁?
说说MyISAM的并发锁?
MyISAM的锁调度?
InnoDB与MyISAM的最大不同?
事务的特性?
事务的问题?
事务隔离级别?
查看Innodb行锁争用情况?
InnoDB的行锁?
行锁的实现?
死锁满足的条件?
如何避免死锁?
索引与锁?
B+树为什么效率高?
介绍mysql优化原理?
mysql的优化步骤?
如何为什么要查找慢查询,如何查找?
如何建立索引,如何优化索引?
索引失效的情况?

Nginx
nginx为什么比Apache高效?
ngin如何优化

设计模式的原则?
设计模式有多少种?
手写单例模式、工厂模式?
单例模式的口诀?

框架
什么是容器。有什么用,怎么实现?
什么是中间件,是怎么实现的?
什么是门脸,如何实现的?
链式调用是怎么实现的?

代码编写
使用规范的编码标准或者统一的自定义编码规则;
使用大小驼峰:
类名使用大驼峰
方法名使用小驼峰
常量全大写
变量命名要全小写,使用下滑线;
参数变量使用小驼峰;
命名不要使用拼音,要使用英文;
方法的命名尽量明确,能够望文生义;
代码要写好注释;
使用规范写好注释;
尽量符合设计模式原则,方法应遵循单一职责原则,为代码的高耦合低聚合做好基础;
对参数采取不可信的态度,对参数有校验与判断的义务,参数是否符合传入的类型限定,以及参数缺失、错误的后续的处理;
做好异常的预判,使用try_catch捕获异常,处理异常;

高数扩展

电子科技大学公开课:线性代数与信息科技
可汗学院公开课:线性代数

算法扩展


文章 复习大纲 转载需要注明出处
喜欢 (0)

您必须 登录 才能发表评论!