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参数调整最大
PHP面试题2019年小米工程师面试题及答案解析的更多相关文章
- PHP面试题2019年百度工程师面试题及答案解析
一.单选题(共10题,每题5分) 1.以下代码输出的结果是? A.[0,1,2,3] B.[1,3,5,7,5] C.[1,2,3,4,5] D.[0,1,2,3,5] 参考答案:D 答案解析 ...
- PHP面试题2019年京东工程师面试题及答案解析
一.单选题(共28题,每题5分) 1.Apache与Nginx大访问下性能描述正确的是? A.Apache所采用的epoll网络I/O模型非常高效 B.Nginx使用了最新的kqueue和select ...
- 2019年12道RabbitMQ高频面试题你都会了吗?(含答案解析)
RabbitMQ 面试题 1.什么是 rabbitmq 2.为什么要使用 rabbitmq 3.使用 rabbitmq 的场景 4.如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费 ...
- 【面试题】新东方.NET工程师面试题总结
1.学校几本(是否统招).英语等级.大学成绩排名Top%几.当前月薪(入职前是否能提供薪资证明材料).期望月薪 二本,统招英语四级排名top10 2.做过的项目技术栈是什么?(例如 .NET.Sql ...
- PHP面试题2019年搜狐面试题及答案解析
一.单选题(共27题,每题5分) 1.阅读下面PHP代码,并选择输出结果( ) A.0 B.1 C.2 D.3 参考答案:D 答案解析:static属性常驻内存 2.PHP单例模式操作描述错误的是? ...
- 2020年大厂Java面试前复习的正确姿势(800+面试题附答案解析)
前言 个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事.所以,劝各位不要因为面试失败而灰心. 丧失斗志.也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油! 本篇分享的面试题内容 ...
- 2019年腾讯最新Java工程师面试题
一.单选题(共21题,每题5分) 1在正则表达式当中下面那一个字符集表示非空格字符 A.[:graph:] B.[:digit:] C.[:space:] D.[:alpha:] 参考答案:A 答 ...
- Web前端开发工程师面试题
Web前端开发工程师面试题1.说说css的优先级?2.在移动端中,常常使用tap作为点击事件,好处是?会带来什么问题?3.原生JS的window,onload与Jquery的$(document).r ...
- 转:一份基础的嵌入式Linux工程师笔试题
一. 填空题: 1. 一些Linux命令,显示文件,拷贝,删除 Ls cp rm 2. do……while和while……do有什么区别? 3. Linux系统下.ko文件是什么文件?.so文件是什么 ...
随机推荐
- JavPlayer:AI破坏马赛克,大量马赛克破坏版影片流出
这是最近几个月业界讨论比较火的话题,发酵到现在, 终于可以给大家总结下最近的马赛克破坏版影片到底是怎么回事? 马赛克破坏版,简单讲就是利用AI技术,在打有马赛克影片的马赛克基础上进行修复操作, 来实现 ...
- Python 爬虫从入门到进阶之路(四)
之前的文章我们做了一个简单的例子爬取了百度首页的 html,我们用到的是 urlopen 来打开请求,它是一个特殊的opener(也就是模块帮我们构建好的).但是基本的 urlopen() 方法不支持 ...
- SpringBoot2.0 整合 Redis集群 ,实现消息队列场景
本文源码:GitHub·点这里 || GitEE·点这里 一.Redis集群简介 1.RedisCluster概念 Redis的分布式解决方案,在3.0版本后推出的方案,有效地解决了Redis分布式的 ...
- Python中为什么不能用可变对象作为默认参数的值
def func(numbers = [], num=1): numbers.append(num) for number in numbers: print(number) func() >& ...
- 测试环境部署之填坑记录-Expected one result (or null) to be returned by selectOne(), but found: 2
最近在部署性能测试环境的时候,环境 部署好以后,部分功能出现接口查询异常,问题现象: 拿到错误,肯定要先判断是前端还是后端代码的问题,最简单的方式是抓包查看: 以上是报错页面捕获的接口报错,很明显的接 ...
- 【React Native】react-native之集成支付宝支付、微信支付
一.在使用支付宝支付.微信支付之前导入桥接好的头文件 github地址:https://github.com/xujianfu/react-native-pay 二.集成支付宝支付流程 RN支付宝需要 ...
- Python-1-Day
C = float(input("Enter a degree in Celsius:"))F = (9/5) * C + 32print("{0} Celsius is ...
- 如何使用postman判断返回结果是否正确
针对一个接口,我们在知道参数以及参数对应的结果时,可以通过postman进行判断,验证返回数据是否与预期数据相等.这样可以使我们的接口测试更加的方便简洁. 1.准备数据. postman可以接受的文件 ...
- Java Web 学习(8) —— Spring MVC 之文件上传与下载
Spring MVC 之文件上传与下载 上传文件 表单: <form action="upload" enctype="multipart/form-data&qu ...
- python中append的使用
没有系统地学习过python,最近在append的使用上遇到了大问题,吃到了苦头 之前一直单纯地认为通过append把数添加到list中,不需要提前开空间,非常便利,但却没有意识到这个过程并不是值传递 ...