- PHP的哪些语言特征,在合适的场景可以显著减少程序的内存开销?
- Generator
- Trait
- Type hint
- SPL
- 对于PHP的自动加载描述正确的是
- 自动加载函数只支持按Class / Interface / Trait 名加载,不能按 function名加载
- Composer的自动加载是通过 __autoload 函数实现的
- 在文件顶部 use 的时候会载入对应的类
- 现在大多数类库都遵循 PSR0 规范
- 对于 Trait 描述正确的是
- 子类中引入的 Trait 里的方法会覆盖父类的方法
- 在Trait中不可以调用引用类里的方法
- 一个类无法同时引入两个包含相同方法的 Trait
- 可以用来减少重复代码
- 下列对 Composer 描述正确的是
- 一般情况下应该把 PHPUnit 包放在 require 段
- composer.json 不仅可以指定依赖的 PHP 库,还能指定依赖的 PHP 扩展
- Library 类型的项目,需要把 composer.lock 文件提交到版本库中
- 拿到一个 Project 类型的项目时,需要通过 composer update 来安装对应的依赖包
- 下列对 JWT 的描述正确的是
- 有两个部分组成,分别是荷载(payload)和校验段
- Token不变的情况下,过期后不可以续期
- 可以不设置过期时间
- 经常被用于传输加密的数据
- 如果一个包遵循 Semantic Version,下列哪些版本升级大概率不会出问题:
- 1.0.0 -> 1.0.1
- 1.0.0 -> 1.1.0
- 1.0.0 -> 1.1.1
- 1.0.0 -> 2.0.0
- 按照 RESTful 的规范,修改文章的展示隐藏应该使用哪一种路由
- Post / article/{id}/hidden
- Put /article/{id}
- Patch /article/{id}
- Put / article/{id}/hidden
- 通常使用过滤特殊字符的方式来避免SQL注入
- 正确
- 错误
- 只要项目中使用 PDO 的 prepare 就能完全避免 SQL 注入
- 正确
- 错误
10.CSRF 攻击是因为没有对用户输入进行转义导致的 - 正确
- 错误
- 使用 Authentication Header 认证的API,用 LocalStorage 存储 Token 的项目不可能出现 CSRF 漏洞
- 正确
- 错误
- 为了避免 XSS 攻击,需要在写入数据库前对其转义,从数据库读取后反转义
- 正确
- 错误
- 允许来自跨域的请求,可以在哪层面设置
- 浏览器JS
- Nginx
- PHP
- Redis
- OAuth 的 AccessToken 过期后只能让用户重新发起授权申请来获得新的 AccessToken
- 正确
- 错误
- 下列对 Laravel 的描述正确的是
- 在业务代码中应该通过 env() 函数读取 .env 文件中的值
- 路由模型绑定 (Route Model Binding)是中间件实现的
- Laravel 的 Session 使用的是 PHP 原生的 Session
- 按关联关系筛选数据可以用 with 或者 whereHas
- 你正在开发中的分支和 develop 分支出现冲突时
- 冲突的出现是团队协作不好,需要组长协调好团队之间的工作
- 通常是团队中水平较低的开发人员导致的,需要帮助他们提高Git水平
- 出现冲突时需要和相关的开发人员确认解决方案
- 在自己的分支上执行 rebase 命令以减少未来的冲突
- 目前还没有遇到过
- Git flow 中,release 分支可以从以下哪些分支开出
- master
- develop
- feature
- bugfix
- release
- 你在 PHP 工程中使用过以下哪些工具?
- PHPUnit
- PHP-CS-Fixer
- PHPStan
更多推荐
2021年PHP-Laravel面试题
发布评论