竹笋

首页 » 问答 » 问答 » 来会会有点水平的PHP基础面试题
TUhjnbcbe - 2022/2/13 15:14:00

php中文网课程

每日17点准时技术干货分享

1、通过哪一个函数,可以把错误转换为异常处理?

A:set_error_handler

B:error_reporting

C:error2exception

D:catch

正确答案:A

答案分析:set_error_handler()可指定一个回调函数,错误发生时,会自动通过指定的回调函数处理。在回调函数中抛出新的异常即可。

2、下列哪个shell函数的描述是正确的?

A:shell函数可以先调用后定义

B:shell函数需使用关键字function定义

C:shell函数内的变量可以声明为局部变量

D:shell函数只能通过return返回值,1是成功,0是失败

正确答案:C

答案分析:shell函数必须先定义在调用;声明时,无需使用关键字;通过local可以定义函数内的局部变量;shell函数返回值,0是成功,非0是错误,其他选项正确

3、下列关于全文检索技术的说法,不对的是:

A:Solr是新一代的全文检索组件,它比Lucene的搜索效率高很多,还能支持HTTP的访问方式,PHP调用Solr也很方便。

B:MySQL中把一个字段建立FULLTEXT索引,就可以实现全文检索,目前MyISAM和InnoDB的table都支持FULLTEXT索引。

C:Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL做全文搜索,它可以提供比数据库本身更专业的搜索功能。

D:Lucene附带的二元分词分析器CJKAnalyzer切词速度很快,能满足一般的全文检索需要。

正确答案:A

答案分析:Solr是新一代的全文检索组件,它基于Lucene,所以说它比Lucene快就是胡扯:)

4、关于单例模式的说法,错误的是?

A:单例模式的目的是确保在全局环境中,一个类只能有一个实例存在

B:单利模式一般要讲构造函数设置为private

C:只需要将构造函数设置为private即可确保全局中只有一个实例

D:连接数据库的功能通常用单例模式实现

正确答案:C

答案分析:构造函数设置为private,仅能确保无法通过new创建新实例,但仍可以通过clone、反序列化等方式创建多个实例。

5、正则的引擎表述错误的是?

A正则引擎主要可以分为两大类:一种是DFA,一种是NFA。

B一般而论,NFA引擎则搜索更快一些。但是DFA以表达式为主导,更容易操纵,因此一般程序员更偏爱DFA引擎!

CNFA表达式主导,DFA文本主导.

D可以使用是否支持忽略优先量词和分组捕获来判断引擎类型:支持NFA,不支持DFA

正确答案:B

答案分析:正确的说法应该是:一般而论,DFA引擎则搜索更快一些。但是NFA以表达式为主导,更容易操纵,因此一般程序员更偏爱NFA引擎!

6、方框中的正则表达式能与以下哪些选项匹配?

/.Sd/

A.

B.**4

C.4

D.

正确答案:B

答案分析:本题的要点是理解这个正则表达式的含义——从左往右,首先是零个或多个任意字符(.),跟着是一个星号(),然后是,最后是一个数字。因此答案是B。

7、如下关于数据库的说法,哪个是错误的?

A:为了效率数据库可以有多个读库

B:数据库可以用主从做热备

C:数据库不能提供多主多从架构

D:数据库主从是通过日志同步的

正确答案:C

答案分析:数据库可以提供多主多从架构。

8、下面哪个不是XSS漏洞的修复方式?

A:对参数进行htmlspecialchas过滤

B:对参数使用白名单过滤

C:不允许输入的内容显示到浏览器

D:禁止在js标签内输出用户输入的内容

正确答案:A

答案分析:这类过滤可以解决尖括号类型的xss,无法解决js标签内的xss

9、下列哪一项不是PHPSAPI模式?

A.ISAPI

B.CGI

C.FastCGI

D.RESTFULAPi

正确答案:D

答案分析:A~C是最常用的模式,D是一种接口的组织方式。

10、对一个大文件进行逐行遍历,如下方法性能较高的是?

A:写一个实现了IteratorAggregate接口的类,通过该类使用foreach遍历。

B:使用file_get_contents将文件内容一次性载入内存,然后逐行遍历。

C:通过exec函数,调用shell工具遍历

D:使用别人写的类库

正确答案:A

答案分析:使用IteratorAggregate可将文件打开后通过移动指针的方式逐行遍历,不受文件大小影响。使用file_get_contents处理大文件很容易导致PHP内存溢出;调用exec会产生额外的进程,影响性能;其他人写的类库质量不一定高。

11、如下选项,哪个不是设计模式应该遵循的原则?

A:组合优于继承

B:针对接口编程

C:尽可能降低耦合

D:尽量使用高性能的语法

正确答案:D

答案分析:设计模式的

1
查看完整版本: 来会会有点水平的PHP基础面试题