PHP
一. 基础
1, session和cookie的区别
-
Session是在服务端保存的一个数据结构,用来跟踪用户 的状态,这个数据可以保存在集群、数据库、文件中
-
Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的 一种方式。
2, PHP7用了吗,了解哪些新特性
PHP7在性能方面实现跨越式的提升,新的操作符,统一变量语法等等
3, 魔术变量
问了__dir__代表的含意,这个是回答文件所在的目录
4, 魔术方法
这算是经常会问到的一个题目了,常用的都记得,忽然问到__invoke()就懵了
__construct(), __destruct(), __call(), __callStatic() , __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() 和 __debugInfo()
二. 数据结构和算法
1, 栈数据结构
只要能用代码实现出栈数据结构即可
2, 冒泡排序
只要能用代码实现出冒泡排序即可
3, 完全二叉树和满二叉树的区别
只有最下面的两层结点度能够小于2,并且最下面一层的结点都集中在该层最左边的 若干位置的二叉树才为完全二叉树
而一棵深度为h且有 2^h-1个结点的二叉树即为 满二叉树
三. 架构相关
1, Laravel和ThinkPHP有什么区别,对于laravel有什么要吐槽的
我从路由,中间件到控制器,数据访问,视图等层面上介绍了不同
吐槽的话可能相对于一些项目,laravel有点‘重’
2, 有用composer发布过自己的包吗? (基于 Composer 的 PHP 模块化开发)
我回答没有,只是了解过
面试官就说他们的框架是自己在 Discuz的基础上二次开发的框架,在他优秀的基础上把composer依赖管理也都引进blabla
3, 谈谈对于MVC的理解
结合项目说明模板,视图,控制器之间的关系和基本的构成
四. 防护
1, XSS 跨站脚本攻击
2, DDOS 流量攻击
3, CSRF 跨站请求伪造攻击
4, SQL注入
在前端表单用户输入进行控制或限制
有后端传参数和数据时进行过滤等等