加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 交互 > 正文

PHP面试题2019年奇虎360面试题及答案解析

发布时间:2020-12-15 04:07:40 所属栏目:交互 来源:网络整理
导读:一、单选题(共29题,每题5分) 1.以下代码 a.php 输出的结果是? a.php 的代码如下: ? ?b.php的代码如下: A、foo in a B、什么也不输出 C、报错 D、foo in b 参考答案:C 答案解析: 答案是C 想让大家思考的是、为什么在b里边使用了return、依然可以找到f

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

1.以下代码 a.php 输出的结果是?

a.php 的代码如下:

?

?b.php的代码如下:

A、foo in a

B、什么也不输出

C、报错

D、foo in b

参考答案:C

答案解析:

答案是C 想让大家思考的是、为什么在b里边使用了return、依然可以找到foo函数的定义、并且报错 Cannot redeclare foo() ? 因为php是在运行之前先解释执行、为避免表述不精确、附上文档原文:Note that because PHP processes the file before running it,any functions defined in an included file will still be available,even if the file is not executed.

?

2.php中单引号和双引号包含字符串的区别正确的是?

A、单引号速度快,双引号速度慢

B、双引号速度快,单引号速度慢

C、单引号里面可以解析转义字符

D、双引号里面可以解析变量

参考答案:D

答案解析:在PHP定义字符串的时候,单引号和双引号没有速度差别,但是单引号中的字符全部是原样输出,而双引号可以解析变量和转义字符。

?

3.在SQL语言中,子查询是?

A、选取单表中字段子集的查询语句

B、选取多表中字段子集的查询语句

C、返回单表中数据子集的查询语言

D、嵌入到另一个查询语句之中的查询语句

参考答案:D

答案解析:嵌套SELECT语句也叫子查询,一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询不但能够出现在Where子句中,也能够出现在from子句中,作为一个临时表使用,也能够出现在select list中,作为一个字段值来返回。

?

4.mb_作为前缀的函数作用是?

A、按照字节获取长度

B、按照字符获取长度

C、按照厘米获取长度

D、按照公分获取长度

参考答案:B

答案解析:按照字符获取长度。

?

5.PHP的垃圾收集机制,说法错误的是?

A、PHP使用的回收算法是引用计数法,每个php变量存在一个叫"zval"的变量容器中。

B、一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息。第一个是"is_ref",是个bool值,用来标识这个变量是否是属于引用集合(reference set)。 第二个额外字节是"refcount",用以表示指向这个zval变量容器的变量(也称符号即symbol)个数。

C、把一个变量赋值给另一变量不会增加引用次数(refcount) 当任何关联到某个变量容器的变量离开它的作用域(比如:函数执行结束),或者对变量调用了函数 unset()时,"refcount"就会减1

D、变量容器在"refcount"变成0时就被销毁

参考答案:C

答案解析:把一个变量赋值给另一变量将增加引用次数(refcount)。

?

6.以下哪种病毒是通过操作系统漏洞传播的

A、QQ尾巴

B、传奇杀手

C、性感烤鸡

D、冲击波

参考答案:D

答案解析:暂无

?

7.假设某网站www.exploit.com存在文件上传漏洞,php语言编写,...

假设某网站www.exploit.com存在文件上传漏洞,php语言编写,根目录是C:wwwroot,现构造文件名test.php上传到服务器目录C:wwwrootupload下,内容为,

请问下面的哪条url能够在服务器成功执行whoami命令?

A、http://www.exploit.com/upload/test.php?cmd=system('whoami');

B、http://www.exploit.com/test.php?cmd=system('whoami');

C、http://www.exploit.com/upload/test.php?cmd=whoami

D、http://www.exploit.com/upload/test.php?eval=system('whoami');

参考答案:A

?

8.关于数据库的读写分离,假设某数据库的工作负载为20%的写,80%的读,并有如下的前提: 1)读和写查询消耗同样的资源。 2)所有的服务器的配置相同。 3)可以把所有的读操作全都转移到从库。 那么如果一个服务器每秒可以支持1000的查询,那么需要增加多少从库才能将负载增加到2000?

A、1台

B、2台

C、3台

D、4台

参考答案:C

答案解析:此问题关键点在于增加的从库也是需要承担写操作的,因为需要通过binlog完成同步。所以每增加一台从库实际是只能承担600的读操作,因为留出400的写操作。那么2000的负载中有1600的写操作,需要3台才能完全消耗。

?

9.下面那个不是mysql存储引擎的锁类型?

A、表锁

B、页锁

C、行锁

D、无

参考答案:B

答案解析:mysql中myisam是有表锁,innodb是行锁,基于索引加锁,如果where条件没有索引,是所有行加锁;sql server才有页锁。

?

10.php中关于字符串处理函数以下说法正确的是?

A、implode( )方法可以将字符串拆解为数组

B、str_replace()可以替换指定位置的字符串

C、substr( )可以截取字符串

D、strlen( )不能取到字符串的长度

参考答案:C

答案解析:implode()方法是将数组连接为字符串,explode()方法是将字符串拆解为数组 str_replace()是用指定字符替换原字符串中的某些字符,替换指定位置字符串的方法是 substr_replace() substr()可以截取字符串,如果截取中文字符串可以用mb_substr() 获取字符串长度的方法为strlen() 综上,C选项是正确的

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

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

?

11.在 bash 中,在一条命令后加入 "1>&2" 意味着?

A、标准错误输出重定向到标准输入

B、标准输入重定向到标准错误输出

C、标准输出重定向到标准错误输出

D、标准输出重定向到标准输入

参考答案:C

答案解析:Linux 中有三个系统文件描述符: 0:标准输入; 1:标准输出; 2:标准错误输出。

?

12.下面的脚本运行以后,$array数组所包含的值是什么?

A、array?(‘2’?,?‘2’)

B、array?(‘1’?,?‘1’)

C、array?(2?,?2)

D、array?(Null?,?Null)

?

13.以下不是PHP文件操作函数是?

A、file

B、fopen

C、fread

D、strcoll

?

14.在PHP面向对象中有一个通用方法__toString()方法,下面关于此方法描述或定义错误的是( ):

A、此方法是在直接输出对象引用时自动调用的方法。

B、如果对象中没有定义此方法时,直接使用echo输出此对象,会报如下错误:Catchable fatal error: Object of class A could not be converted to string.

C、此方法中一定要有一个字符串作为返回值。

D、此方法用于输出信息的,如下所示:public function __toString( ){ echo "This is Class ....";}

?

15.与 HTTP1.0 相比,HTTP1.1 的优点不包括( )

A、减少了?RTTs?数量???

B、支持持久连接?

C、减少了?TCP?慢启动次数???

D、提高了安全性

  

16.关于mysql的说法,下面那个是错误的

A、数据库实列才是用来真正操作数据库文件的

B、一个数据库可以对应多个实列

C、数据库是物理操作系统文件或其他形式文件类型的集合

D、数据库实列由数据库后台进程/线程及一个共享内存区组成

  

17.以下awk用法描述正确的是?

awk '{a[$1,"/t",$2] += $4} END {for (uin in a) printf("%s/t%d/n",uin,a[uin]) }' test

A、可以处理字符格式数据

B、可以处理三维数组逻辑

C、可以处理json格式数据

D、可以处理二维数组数据

?

18.以下inode不包含的是?

A、文件的读写权限

B、文件的位置

C、当前目录下的文件数

D、文件的时间戳

参考答案:C

答案解析:inode中存的是该文件种的信息,包含文件的字节数,uid和gid,读写执行权限,时间戳ctime、mtime、atime,链接数:有多少个文件名指向这个inode,文件数据block位置

?

19.php中处理xml,说法错误的是?

A、可以使用DOMDocument加载

B、SimpleXML扩展提供了一个非常直观的API,更容易将XML转换成对象和遍历元素。建议使用SimpleXML加载非常大的XML文件

C、SimpleXML和DOM扩展是属于基于树的解析器,把整个文档存储为树的数据结构中,需要把整个文档都加载到内存中才能工作,所以当处理大型XML文档的时候,性能会剧减

D、XMLReader是一个XML解析器,它通过在加载过程中遍历每个节点,在而不是在内存中加载整个文档

?

20.PHP单例模式使用场景描述错误的是?

A、一个应用中会存在大量的数据库操作,比如过数据库句柄来连接数据库这一行为,是典型的单例模式

B、如果系统中需要有一个类来全局控制某些配置信息,那么使用单例模式可以很方便的实现

C、需要curd时使用单例模式可以提高执行效率

D、Web配置项读取使用单例模式意义不大

参考答案:D

答案解析:由于web配置项属于共享资源,所以使用单例模式可以提高执行效率

?

21.关于Laravel路由,错误的是?

A、所有的 Laravel 路由都在 routes 目录中的路由文件中定义

B、web 中间件组,没有提供会话状态和 CSRF 保护

C、大多数的应用构建,都是以在 routes/web.php 文件定义路由开始的

D、routes/web.php 文件用于定义 web 界面的路由

参考答案:B

答案解析: 所有的 Laravel 路由都在 routes 目录中的路由文件中定义 routes/web.php 文件用于定义 web 界面的路由 大多数的应用构建,都是以在 routes/web.php 文件定义路由开始的

?

22.若文件存在,则用file()函数打开文件返回的数据类型是?

A、数组

B、字符串

C、整型

D、根据文件类型来定

参考答案:A

答案解析:file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败,则返回 false。

?

23支持子程序调用的数据结构是

A、队列

B、二叉树

C、树

D、栈

参考答案:D

答案解析:栈用于支持子程序调用综上,正确答案为D。

?

24.是PHP魔术方法的是?

A、__function

B、__to

C、__line

D、__invoke

参考答案:D

答案解析:

__construct __destruct __call __callStatic __get __set __isset __clone __unset __sleep __wakeup __toString __invoke __set_state

?

25.用某排序方法对一元素序列进行非递减排序时,若该方法可保证在排序前后排序码相同者的相对位置不变,则称该排序方法是稳定的。简单选择排序法排序方法是不稳定的,(61)可以说明这个性质。

A、21?48?21*?63?17

B、17?21?21*?48?63

C、?63?21?48?21*?17

D、21*?17?48?63?21

?

?

26.属于awk GNU版本的是?

A、awk

B、gawk

C、nawk

D、ngawk

参考答案:B

答案解析:gawk为awk的gnu版本

?

27.以下关于PHP字符串说法错误的是?

A、PHP字符串二进制安全的

B、PHP字符串最大为2G

C、PHP字符串可以被序列化

D、PHP字符串可以使用来结束

?

28.PHP常量和常量类理解错误的是?

A、常量在定义的时候就需要赋值,在运行过程中就无法修改值

B、常量使用的时候需要引用

C、在类的内部可以用类名来访问自身的常量

D、const 关键字定义常量必须处于最顶端的作用区域

?

?

29.Apache与Nginx大访问下性能描述正确的是?

A、Apache所采用的epoll网络I/O模型非常高效

B、Nginx使用了最新的kqueue和select网络I/O模型

C、Apache进程执行PHP、输出HTML都得干,占用的资源多

D、nginx不可以做反向代理服务器

?

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

1如果需要开发一个标准?php?的扩展,必须包含那些文件?

A、config.m4

B、config.w32

C、php_counter.h

D、counter.c

E、package.xml

参考答案:A,B,C,D

答案解析:参考:PHP扩展开发--编写一个helloWorld扩展

https://www.cnblogs.com/boystar/p/6904795.htmlhttp...

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读