总结

PHP


PHP代码安全
  1. 防止xss攻击
    htmlspecialchars处理输出的变量,可防止xss攻击
  2. 防止sql注入
    addslashes 向字符串中预定义字符添加反斜杠,防止sql注入。
    sql语句预编译也可避免SQL注入。PHP中PDO第三方库中有封装好的方法。
  3. 防止csrf攻击
    使用token标记来源,防止冒充cookie恶意访问网站
PHP设计模式

常问的单例模式、工场模式、策略模式

PHP7新特性-被问到过
PHP魔法函数列举
  1. __construct()
    实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。
  2. __destruct()
    当删除一个对象或对象操作终止时被调用。
  3. __call()
    对象调用某个方法, 若方法存在,则直接调用; 若不存在,则会去调用__call函数。
  4. __get()
    读取一个对象的属性时, 若属性存在,则直接返回属性值; 若不存在,则会调用__get函数。
  5. __set()
    设置一个对象的属性时, 若属性存在,则直接赋值; 若不存在,则会调用__set函数。
  6. __toString()
    打印一个对象的时被调用。如echo $obj;或print $obj;
  7. __clone()
    克隆对象时被调用。如: t = n e w T e s t ( ) ; t=new Test(); t=newTest();t1=clone $t;
  8. __sleep()
    serialize之前被调用。若对象比较大,想删减一点东东再序列化,可考虑一下此函数。
  9. __wakeup()
    unserialize时被调用,做些对象的初始化工作。
  10. __isset()
    检测一个对象的属性是否存在时被调用。如:isset($c->name)。
  11. __unset()
    unset一个对象的属性时被调用。如:unset($c->name)。
  12. __autoload()
    实例化一个对象时,如果对应的类不存在,则该方法被调用。
手写算法
  • 冒泡排序
  • 快速排序
  • 字符串、数组操作
socket编程
  1. 网络编程——分为server端和client端
    server端
    – socket函数创建一个listenfd(listenfd是指客户端连接本机时的fd,是用来和客户端通信用的)
    – bind函数绑定端口号连接
    – listen函数端口监听,
    – 死循环中accept函数接受信息
    client端
    – socket发送请求就可以

  2. rpc远程连接调用应用场景

    不通语言之间接口通信
    方便调用

MySQL


MyISAM与InnoDB区别

知识点:

  • MyISAM只支持表锁,InnoDB可以支持行锁。
  • MyISAM不支持事务,InnoDB支持事务。
  • MyISAM不支持外键,InnoDB支持外键。
  • MyISAM会直接存储总行数,InnoDB则不会,需要按行扫描。
    1分钟了解MyISAM与InnoDB的索引差异
会使索引失效的操作
  1. 隐式转换——比如字符串字段查询时候没加引号
  2. 对索引字段操作—— NOT IN、<>、!= (但<,<=,=,>,>=,BETWEEN,IN是可以用到索引的)和 数学运算、复杂函数处理,例如left() FROM_UNIXTIME()不能
  3. like 语句后第一有效字符如果是%号索引会失效,like ‘%aaa%’不会使用索引,like ‘aaa%’可以使用索引
  4. 列中包含有null值,会使索引失效
  5. or 连接的两个字段必须都为索引列,否则查询不会应用索引。
联合索引注意点

最左原则,假如新建联合索引 a-b-c,单独查询a或者a-b顺序可以使用索引,b-c的时候不能使用索引,应用左边全部字段可以使用索引。

字段选取
  • char varchar
  • 手机号类型存储
  • 时间类型存储
锁,隔离机制,索引原理,缓存相关——MySQL汇总

Linux


https原理
http常见状态码及意义
码类型类别原因短语
1XXInformation(信息性状态码)接受的请求正在处理
2XXSuccess(成功状态码)请求正常处理完毕
3XXRedirection(重定向状态码)需要进行附加操作以完成请求
4XXClient Error(客户端错误状态码)服务器无法处理请求
5XXServer(服务器处理请求出错) Error服务器处理请求出错

具体:

状态码含义
200成功
301永久重定向
302临时重定向
401Unauthorized(用户未授权,当浏览器初次接收到401状态码时,弹出认证用的对话窗口)
403目录无访问权限
404页面未找到
500Internal Server Error(服务器代码错误啥的)
502bad Gateway(PHP代码错误啥的)
503Service Unavailable(服务器暂时处于超负载或正在进行停机维护)
504Getaway Timeout (网关超时,是代理服务器等待应用服务器响应时的超时)
常用命令

ps netstat telnet awk xargs top du df cut free top
netstat命令 ps命令 telnet命令
linux sed命令 awk命令 xargs命令
top du df cut free top 这几个没记笔记,被问到过

常用的端口对应的服务

地址:常用端口,21、22、23、80、443、3306

redis

数据类型及使用场景
加锁防止高并发,原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值