• 周六. 7 月 27th, 2024

    PHP面试题

    root

    2 月 12, 2022 #PHP面试题

    1.PHP的哪些语言特征,在合适的场景可以显著减少程序的内存开销?

    A. Generator
    B. Trait
    C. Type hint
    D. SPL

    2. 对于PHP的自动加载描述正确的是
    A. 自动加载函数只支持按Class/Interface/Trait名加载,不能按Function名加载
    B. Composer的自动加载是通过__autoload函数实现的
    C. 在文件顶部use的时候会载入对应的类
    D. 现在大多数类库都遵循PSR0规范

    3. 对于Trait描述正确的是

    A. 子类中引入的Trait里的方法会覆盖父类的方法
    B. 在Trait中不可以调用引用类里的方法
    C. 一个类无法同时引入两个包含相同方法的Trait
    D. 可以用来减少重复代码

    4. 下列对Composer描述正确的是

    A. 一般情况下应该把PHPUnit包放在require段
    B. composer.json不仅可以指定依赖的PHP库,还能指定依赖的PHP扩展
    C. Library类型的项目,需要把composer.lock文件提交到版本库中
    D. 拿到一个Project类型的项目时,需要通过composer update来安装对应的依赖包

    5. 下列对JWT的描述正确的是
    A. 有两个部分组成,分别是荷载(payload)和校验段
    B. Token不变的情况下,过期后不可以续期
    C. 可以不设置过期时间
    D. 经常被用于传输加密的数据

    6. 如果一个包遵循Semantic Version, 下列哪些版本升级大概率不会出问题
    A. 1.0.0 –> 1.0.1
    B. 1.0.0 –> 1.1.0
    C. 1.0.0 –> 1.1.1
    D. 1.0.0 –> 2.0.0

    7. 按照RESTful的规范,修改文章的展示隐藏应该使用哪一种路由
    A. POST /article/{id}/hidden
    B. PUT /article/{id}
    C. PATCH /article/{id}
    D. PUT /article/{id}/hidden

    8. 通常使用过滤特殊字符的方式来避免SQL注入
    A. 正确 B. 错误

    9. 只要项目中使用PDO的prepare就能完全避免SQL注入
    A. 正确 B. 错误

    10. CSRF攻击是因为没有对用户输入进行转义导致的?
    A. 正确 B. 错误

    11. 使用Authentication Header认证的API,用LocalStorage存储Token的项目不可能出现CSRF漏洞
    A. 正确 B. 错误

    12. 为了避免XSS攻击,需要在写入数据库前对其转义,从数据库读取后反转义
    A. 正确 B. 错误

    13. 允许来自跨域的请求, 可以在哪些层面设置
    A, 浏览器JS
    B. Nginx
    C. PHP
    D. Redis

    14. OAuth的AccessToken过期后只能让用户重新发起授权申请来获得新的AccessToken
    A. 正确 B. 错误

    15. 下列对Laravel的描述正确的是
    A. 在业务代码中应该通过env()函数读取.env文件中的值
    B. 路由模型绑定(Route Model Binding)是中间件实现的
    C. Laravel的Session使用的是PHP原生的Session
    D. 按关联关系筛选数据可以用with或者whereHas

    16. 你正在开发中的分支和develop分支出现冲突时
    A. 冲突的出现是团队协作不好,需要组长协调好团队之间的工作
    B. 通常是团队中水平较低的开发人员导致的,需要帮助他们提高Git水平
    C. 出现冲突时需要和相关的开发人员确认解决方案
    D. 在自己的分支上执行rebase命令可以减少未来的冲突
    E。目前还没有遇到过

    root