PHP开发面试常问问题合集

1 COOKIE及SESSION的联系与区别
区别:
(1)cookie数据存放在本地浏览器,session数据存放在服务器
(2)存放在服务器端的session较为安全,不容易被窃取,相对来说,存放在本地浏览器的没有那么安全,别人可以分析存放在本地的cookie并进行伪造欺骗
(3)session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器性能,考虑到减轻服务器性能,可以将登录信息等较为重要的信息存放在session,其它的存放在cookie
联系:
Session的实现方式和Cookie有一定关系。建立一个连接就生成一个session id,打开几个页面就好几个了,这里就用到了Cookie,把session id存在Cookie中,每次访问的时候将Session id带过去就可以识别了.
如果客户端禁用cookie:
单点登录的原理是后端生成一个 session ID,设置到 cookie,后面所有请求浏览器都会带上cookie,然后服务端从cookie获取 session ID,查询到用户信息。
所以,保持登录的关键不是cookie,而是通过cookie 保存和传输的 session ID,本质是能获取用户信息的数据。
除了cookie,还常用 HTTP 请求头来传输。但这个请求头浏览器不会像cookie一样自动携带,需手工处理
详情可以参考下面博文:
https://blog.csdn.net/liyifan...

2 关于MySQL的搜索引擎InnoDB和MyISAM
(1)MyISAM只支持表级锁,InnoDB支持行级锁
(2)MyISAM不支持事务,InnoDB支持事务
(3)MyISAM不支持外键,InnoDB支持外键
(4)MyISAM支持全文索引,InnoDB不支持全文索引
(5)MyISAM插入数据速度相对来说比较快

3 XSS以及CSRF原理以及如何防止
可以参下面的文章
https://blog.csdn.net/u011781...
https://baijiahao.baidu.com/s...

4 PHP设计模式
这个在另一篇文章里面,也还只看了视频,跟着敲了一遍代码……

5 关于缓存memcached 以及 Redis 的比较
https://blog.csdn.net/chaoluo...

6 如何防止SQL注入攻击
https://blog.csdn.net/dengjie...
https://www.cnblogs.com/leezh...

7 网站性能优化(数据库、高并发、大数据量)
后续再更新……

相关推荐