2020春招PHP面试题(附答案)

本文详述了一次2020年春季PHP面试过程,涵盖PHP基础、数据结构与算法、架构设计、防护措施、项目经验,以及MySQL优化等内容。面试涉及session与cookie的区别、PHP7新特性、Laravel与ThinkPHP的对比、XSS与DDoS防御、微信支付流程等,旨在展现面试者的技术广度与深度。同时,文章讨论了服务器防护、NginX配置、Redis持久化和Git冲突解决策略。最后,作者分享了离职原因、理想团队特质及职业规划。
摘要由CSDN通过智能技术生成

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注入

在前端表单用户输入进行控制或限制

有后端传参数和数据时进行过滤等等

五. 项目

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值