乘风原创程序

  • php中大厂的面试题整理
  • 2021/1/21 15:47:22
  • 找工作遇到各种各样的面试已经屡见不鲜了,虽然出的内容是五花八门,但是基本上所有面试题还是基于最核心的思想,就是一些最基础的内容使用,只有根基深厚了,才可以在往上助苗成长,本章的核心内容,就是大家最关切的php面试中经常会遇到的问题,下面就为大家展示几个一定在面试中会碰到的问题。

    1、服务提供者是什么?

    服务提供者是所有 Laravel 应用程序引导启动的中心, Laravel 的核心服务器、注册服务容器绑定、事件监听、中间件、路由注册以及我们的应用程序都是由服务提供者引导启动的。

    2、IoC 容器是什么?

    简单来讲就是利用依赖关系注入的方式,把复杂的应用程序分解为互相合作的对象,从而降低解决问题的复杂度,实现应用程序代码的低耦合、高扩展。

    3、Facades 是什么?

    Facades(一种设计模式,通常翻译为外观模式)提供了一个"static"(静态)接口去访问注册到 IoC 容器中的类。提供了简单、易记的语法,而无需记住必须手动注入或配置的长长的类名。此外,由于对 PHP 动态方法的独特用法,也使测试起来非常容易。

    4、Contract 是什么?

    Contract(契约)是 laravel 定义框架提供的核心服务的接口。Contract 和 Facades 并没有本质意义上的区别,其作用就是使接口低耦合、更简单。

    5、依赖注入的原理?

    这个就不解释了吧,这是理解 IoC 容器的前提。

    6、什么是 Composer, 工作原理是什么?

    Composer 是 PHP 的一个依赖管理工具。工作原理就是将已开发好的扩展包从 packagist.org composer 仓库下载到我们的应用程序中,并声明依赖关系和版本控制。

    关于PHP面试题的扩展:

    echo(),print(),print_r()的区别(3分)

    echo 和print不是一个函数,是一个语言结构

    int print(string $arg), 只有一个参数

    echo arg1,arg2; 可以输出多个参数,返回void

    echo和print只能打印出string,不能打印出结构

    print_r能打印出结构

    比如

    $arr = array("key"=>"value");
    print_r($arr);

    能够使HTML和PHP分离开使用的模板(1分)

    smarty,phplib

    使用哪些工具进行版本控制?(1分)

    svn,git,cvs