PHP面试题2019年小米工程师面试题及答案解析

一、单选题(共29题,每题5分)

1.PHP面向对象方法重写描述错误的是?

A、子类必须继承父类

B、子类可以重写父类已有方法

C、重写之后子类会调用父类方法

D、子类也可以具有与父类同名的属性,进行属性覆盖

参考答案:C

答案解析:重写之后子类不会再去调用父类的方法,而是直接调用自身的方法。

 

2.php选项/信息函数作用错误的是?

A、phpinfo() 输出关于 PHP 配置的信息

B、php_sapi_name() 返回 web 服务器和 PHP 之间的接口类型

C、ini_set() 为一个配置选项设置值

D、ini_get() 获取所有配置选项

参考答案:D

答案解析:ini\_get() 是获取一个配置选项,获取所有配置选项的函数是ini\_get\_all()。

 

3.下列说法错误的是:

A、链表分为单向链表,双向链表,循环链表

B、栈 先进后出

C、队列 先进先出,可以从头部插入

D、队列 先进先出

参考答案:C

答案解析:链表分为单向链表,双向链表,循环链表 栈 先进后出 队列 先进先出。

 

4.数组的遍历方式,下列错误的是?

A、foreach

B、each

C、for

D、list

参考答案:D

答案解析:list只能把数组的元素变成变量,并不是遍历。

联合使用list()、each()和while循环遍历数组

each()函数需要传递一个数组作为一个参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置。

list()函数,这不是一个真正的函数,是PHP的一个语言结构。list()用一步操作给一组变量进行赋值。

 

5.以下哪种方法不可以设置PHP的最大执行时间为120秒?

A、修改php的配置文件 php.ini 文件,max_executin_time = 120;

B、$max_execution_time = 120

C、ini_set("max_execution_time","120");

D、set_time_limit(120);

参考答案:B

答案解析:第一种方式需要重启服务器,第三种第四种直接在脚本中用函数设置,第二种只是一个普通变量,不管用。

 

6.正则中\w代表什么含义?

A、[0-9a-z]

B、[0-9a-zA-Z]

C、[0-9a-zA-Z_]

D、[0-9a-zA-Z_-\]

参考答案:C

答案解析:\w匹配字符数字和下划线。

7.Java类库中,将信息写入内存的类是(  )。

A、 java.io.FileOutputStream

B、 java.io.ByteArrayOutputStream

C、 java.io.BufferedOutputStream

D、 java.io.DataOutputStream

参考答案:B

答案解析:暂无。

 

8.以下PHP代码运行结果正确的是?

A、Array ( [val1] => Array ( [0] => 1 [1] => 2 ) [val2] => 3 [val3] => Array ( [0] => 4 [1] => 5 ) )

B、array(2) { [0]=> int(4) [1]=> int(5) }

C、array(2) { [0]=> int(1) [1]=> int(2) }

D、null

参考答案:B

答案解析:

array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组

 

10.关于php指针的函数作用,说法错误的?

A、current()返回数组中的当前单元

B、end() 将数组的内部指针指向最后一个单元

C、reset() 将数组的内部指针指向第一个单元

D、prev() 将数组的内部指针向前移动一位

参考答案:D

答案解析:prev()是 数组的内部指针倒回一位。

 

很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家(11年架构师带你解读年薪50万面试通关秘籍。)

如果喜欢我的文章,想与一群资深开发者一起交流学习的话,获取更多相关大厂面试咨询和指导,欢迎加入我的学习交流群点击此处PHP高级交流

 

11.下面哪一个正则表达式用来验证电子邮件(如: zhang.san_123@scse.com.cn )的格式最正确()

A、[_\.0-9a-z]@([0-9a-z]+\.)+[0-9a-z\.-]{2,6}

B、[_\.0~9a~z-]*@([0~9a~z-]+\.)+[0~9a~z\.]+

C、[_\.0-9a-z-]+@([0-9a-z-]+\.)+[0-9a-z\.]+

D、[_\.0~9a~z-]+@([0~9a~z-]+\.)+[0~9a~z]{2,6}

参考答案:C

答案解析:C

 

 

12.PHP面向对象继承特征描述错误的是?

A、类使用extends关键字,让子类继承父类

B、子类只能继承父类的非私有属性

C、类继承父类后,相当于将父类的属性和方法copy到子类可以直接使用$this调用

D、PHP只支持单继承不支持一个类继承多个类和多层继承

参考答案:D

答案解析:PHP是单继承只能继承一个类,但是可以进行多层继承。

 

13.下列哪种PHP运行模式在PHP5.3之后不再支持?

A、CGI

B、FASTCIG

C、ISIPA

D、CLI

 

14.为什么InnoDB表要建议用自增列做主键?

A、使用自增列(INT/BIGINT类型)做主键,这时候写入顺序是自增的,和B+数叶子节点分裂顺序一致

B、无

C、该表不指定自增列做主键,同时也没有可以被选为主键的唯一索引(上面的条件),这时候InnoDB会选择内置的ROWID作为主键,写入顺序和ROWID增长顺序一致

D、使用自增列(INT/BIGINT类型)做主键,这时候写入顺序是自增的,和B+数叶子节点分裂顺序一致; 该表不指定自增列做主键,同时也没有可以被选为主键的唯一索引(上面的条件),这时候InnoDB会选择内置的ROWID作为主键,写入顺序和ROWID增长顺序一致; 除此以外,如果一个InnoDB表又没有显示主键,又有可以被选择为主键的唯一索引,但该唯一索引可能不是递增关系时(例如字符串、UUID、多字段联合唯一索引的情况),该表的存取效率就会比较差

 

15.哪项不是yii入口脚本主要工作?

A、定义全局常量

B、包含 [[Yii]] 类文件

C、加载应用配置

D、加载过滤器

参考答案:D

答案解析:入口文件主要工作如下: 定义全局常量; 注册 Composer 自动加载器; 包含
\[Yii
\[Yii
\] 类文件; 加载应用配置; 创建一个应用实例并配置; 调用
\[yiibaseApplication::run()
\[yiibaseApplication::run()
\] 来处理请求。

 

16.栈和队列具有相同的()

A、抽象数据类型

B、逻辑结构

C、存储结构

D、运算

 

 

17.以下代码中$third的结果是多少?

A、array(1,2,3,4)

B、array(1,2)

C、array(3,4)

D、以上都不对

 

18.正则表达式中,表示匹配非数字字符的字符是()?

A、\b

B、\d

C、\B

D、\D

 

18.正则表达式中,表示匹配非数字字符的字符是()?

A、\b

B、\d

C、\B

D、\D

 

19.以下代码输出的结果是?

A、1

B、2

C、3

D、4

参考答案:A

答案解析:if($str==0),字符串和数字比较是否相等, 相当于 把$str 字符串隐性转换为数字,然后再比较,相当于 if( intval($str) == 0 ) 。if($str==0) 判断 和 if( intval($str) == 0 ) 是等价的,而和 if ($str) 是不一样的。if ($str) 可以判断 $str值有没有被初始化。有没有付值,只要付值,就返回true。 当然你也可以使用 $str="字符串";if($str===0){ echo "返回了true.";},就是 判断 $str的数据类型 和值 都和0的值 数据类型一样,才可以返回true。

 

20.fopen()不支持哪种打开方式?

A、c

B、z

C、x

D、a

参考答案:B

答案解析:fopen()支持“r、r+、w、w+、a、a+、x、x+、c、c+”10种方式。

 

21.下列哪一项不是关系型数据库的优势?

A、保持数据的一致性

B、由于以标准为前提,数据更新的开销小

C、可以进行join等复杂查询

D、易扩展,加一台新的服务器很快

 

22.以下程序段 输出结果是?

echo 24%(-5);

A、5

B、4

C、-4

D、19

 

23.大型信息系统是以信息技术和( )为支撑的大系统,具有规模庞大、分布广阔、采用多级网络结构、提供多种类型应用等特征。

A、通信技术

B、安全技术

C、数据处理技术

D、虚拟化技术

 

24.某银行为用户提供网上服务,允许用户通过浏览器管理自己的银行账户信息。为保障通信的安全,该Web服务器可选的协议是()。

A、POP

B、SNMP 

C、HTTP

D、HTTPS

 

25.mysql5.7中关于json类型的说明,不对的是那个

A、JSON数据可以做有效性检查

B、json数据中,还是需要遍历所有字符串才能找到数据

C、JSON使得查询性能提升

D、JSON支持部分属性索引,通过虚拟列的功能可以对JSON中的部分数据进行索引

 

26下面PHP运行模式是模块模式的?

A、cgi

B、cli

C、apache2handler

D、fast-cgi

 

27.想匹配 字符串 "abc 123" 中的数字,哪个正则表达式是正确的?

A、/\d*/

B、/[0-9]*/

C、/[^a-z]*/

D、/\d+/

 

28.虽然Linux系统没有文件扩展名的概念,但是我们通常认为以()结尾的文件是shell脚本

A、exe

B、doc

C、sh

D、py

 

29.php的运行模式不包含下面的那个?

A、IaSApi

B、fast-cgi

C、cli

D、apache2handler

 

二、多选题(共1题,每题5分)

1.如何让PHP网站运行更快?

A、压缩代码,去除无用的注释或空白

B、尽量使用PHP内置函数或扩展函数

C、用apc/xcache/opcache等缓存PHP的opcode

D、把服务器配置把FastCGI参数调整最大

 

 

 

  



版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


前段时间专心面过腾讯,经过了N轮的技术面,结果还是挂了,但没挂在技术面,比较欣慰,回来之后写一点总结,以供有梦想进入腾讯做后台服务器开发的同学参考,本文章为胡成精心总结,胡成原创,copy和转载请通知
1)tcp三次握手的过程,accept发生在三次握手哪个阶段?2)Tcp流, udp的数据报,之间有什么区别,为什么TCP要叫做数据流?3)const的含义及实现机制,比如:const int i,是
1.get,post 的区别 1、GET在浏览器回退时是无害的,而POST会再次提交请求。2、GET产生的URL地址可以被Bookmark,而POST不可以。3、GET请求会被浏览器主动cache,而
1、优化 MYSQL 数据库的方法 (1) 选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置 NOT NULL, 例如’省份,性别’, 最好设置为 ENUM (2) 使用连接(JOIN)来
程序员找工作必备 PHP 基础面试题​ 程序员找工作必备 PHP 基础面试题(二) 1. 写出下面的程序输出的结果 $str="cd"; $$str="abcde&quo
1、我们知道 autoload 可以实现类的自动载入,如何把一个类 splDemo 的方法 autoload 注册成为一个__autoload (关键词:spl) abstract
程序员找工作必备 PHP 基础面试题​ 程序员找工作必备 PHP 基础面试题(二)​ 程序员找工作必备 PHP 基础面试题 (三) 一、在 HTTP1.0 中,状态吗 500 的含义的是什么?如果返回
2020年PHP 面试问题(一) 2020年PHP 面试问题(二) 一.数据库三范式 第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF是对记录的惟一性约束,要求
一.什么是 CGI?什么是 FastCGI?php-fpm,FastCGI,Nginx 之间是什么关系? CGI,通用网关接口,用于WEB服务器和应用程序间的交互,定义输入输出规范,用户的请求通过WE
1.PHP 如何实现不用自带的 cookie 函数为客户端下发 cookie。对于分布式系统,如何来保存 session 值。 这个题有点绕。考的还是 COOKIE 和 SESSION 的基础知识。服
1、PHP 语言的一大优势是跨平台,什么是跨平台? PHP 的运行环境最优搭配为 Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如 windows、Linux 等)上配置,不受操作
如何直接将输出显示给浏览器? 将输出直接显示给浏览器,我们必须使用特殊标记 <?=and?>。 PHP 是否支持多重继承? PHP 只支持单继承。PHP 的类使用关键字 exte
1.缩短键值对的存储长度 键值对的长度是和性能成反比的,比如我们来做一组写入数据的性能测试,执行结果如下: 从以上数据可以看出,在 key 不变的情况下,value 值越大操作效率越慢,因为 Redi
原文链接 分享:[分享] 大环境下瑟瑟发抖辞职的第二天,拿了两个 offer 面试题解析 看你简历里也有用过 Go,Go 和 PHP 在运行的时候有什么区别和优势? 题主原回答:PHP 每个请求进来时
推荐视频:面试10家公司,收获9个offer,2020年PHP 面试问题 第一阶段1-2年 我认为1-2年对于PHP程序员来说是第一个门槛,这一阶段菜鸟正式从理论迈向企业级开发。我们知道如何使用工具、
1、什么是rabbitmq 采用AMQP高级消息队列协议的一种消息队列技术,最大的特点就是消费并不需要确保提供方存在,实现了服务之间的高度解耦 2、为什么要使用rabbitmq 1. 在分布式系统下具
前言 日常的开发中,无不都是使用数据库来进行数据的存储,由于一般的系统任务中通常不会存在高并发的情况,所以这样看起来并没有什么问题。 面试10家公司,收获9个offer,2020年PHP 面试问题 一
是什么 ,在什么地方用,注意什么,特点,如何配置(相关关联),出现的问题(缺点),引出解决办法或另一种方法-PHP:Hypertext Preprocessor一、get和post的区别1. get是从服务器上获取数据,post是向服务器传送数据。2. get是把参数数据队列加到提交表单的ACTIO
Php1、表单中get与post提交方法的区别?答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.2、session与cookie的区别?答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_d