2019年新浪PHP工程师面试题和答案解析

aside section ._1OhGeD · · 855 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

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

1.以下语句输出的结果是什么?


A、3$a\$a3336

B、33\$a3336

C、$a$a\$a3336

D、3$a\$a333$a$a

参考答案:A

答案解析:\是转义的意思

2.包含文件方式,下列哪个是错误的?

A、include

B、include_once

C、require

D、import

参考答案:D

答案解析:import是CSS的引入方式。

3.三个人独立地破译一份密码,已知各人能译出的概率分别为1/5,1/4,1/3,则密码能被破译的概率为 ?

A、1/60

B、3/5

C、59/60

D、13/30

参考答案:B

答案解析:题目中,至少有一人能破译密码和三人都不能破译密码是对立事件。所以至少有一人能译出的概率=1-三人都没译出的概率=1-(1-1/5)(1-1/3)(1-1/4)=1-2/5=3/5

4.innodb的事务与日志的实现方式?

A、redo

B、redo和undo

C、undo

D、无

参考答案:B

答案解析:1.有多少种日志 redo/undo 2.日志的存放形式 redo:在页修改的时候,先写到redo log buffer 里面,然后写到redo log 的文件系统缓存里面(fwrite),然后再同步到磁盘文件(fsync)。 Undo:在MySQL5.5之前,undo只能存放在ibdata\*文件里面,5.6之后,可以通过设置innodb\_undo\_tablespaces参数把undo log存放在ibdata\*之外。 3.事务是如何通过日志来实现的,说得越深入越好。 因为事务在修改页时,要先记undo,在记undo之前要记undo的redo,然后修改数据页,再记数据(需要更多学习资料和面试题请加入qun6/7/7/0/7/9/7/7/0)页修改的redo。Redo(里面包括undo的修改)一定要比数据页先持久化到磁盘。当事务需要回滚时,因为有undo,可以把数据页回滚到前镜像的状态,崩溃恢复时,如果redo log中事务没有对应的commit记录,那么需要用undo把该事务的修改回滚到事务开始之前。如果有commit记录,就用redo前滚到该事务完成时并提交掉。

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

A、子类必须继承父类

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

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

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

参考答案:C

答案解析:

重写之后子类不会再去调用父类的方法,而是直接调用自身的方法

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

A、子类必须继承父类

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

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

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

参考答案:C

答案解析:

重写之后子类不会再去调用父类的方法,而是直接调用自身的方法

6.TCP/IP协议栈中的位置(由上到下)?

A、TCP->IP->HTTP->数据链路层

B、IP->HTTP->TCP->数据链路层

C、HTTP->IP->TCP->数据链路层

D、HTTP->TCP->IP->数据链路层

参考答案:D

答案解析:HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上 正确排序为HTTP->TCP->IP->数据链路层

7.在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 ....";}

参考答案:D

答案解析:选D 应该是return

8.关于php预定义变量说法错误的是?

A、$HTTP_RAW_POST_DATA获取原生post数据

B、$_GET和$_POST 分别获取HTTP GET 和 HTTP POST 的数据

C、$_REQUEST 变量默认情况下包含了 $_GET,$_POST的数组。

D、建议使用php://input替代$HTTP_RAW_POST_DATA,因为它不依赖特定的php.ini指令,需要更少的内存。

参考答案:C

答案解析:$_REQUEST 变量默认情况下包含了 $_GET,$_POST 和 $_COOKIE 的数组。

9.传输经过SSL加密的网页所采用的协议是(8)。

A、HTTP

B、HTTPS

C、S-HTTP

D、HTTP-S

参考答案:B

答案解析:HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。参考答案:(8)B

10.在其他条件不变的前提下,以下哪种做法容易引起机器学习中的过拟合问题()

A、增加训练集量

B、减少神经网络隐藏层节点数

C、删除稀疏的特征

D、SVM算法中使用高斯核/RBF核代替线性核

参考答案:D

答案解析:复杂模型容易导致过拟合

11.在TCP/IP协议栈中,ARP协议的作用是(请作答此空),RARP协议的作用是( )。

A、从MAC地址查找对应的IP地址

B、由IP地址查找对应的MAC地址

C、把全局IP地址转换为私网中的专用IP地址

D、用于动态分配IP地址

参考答案:B

答案解析:在TCP/IP协议栈中,ARP协议的作用是由IP地址查找对应的MAC地址,RARP协议的作用正好相反,是由MAC地址查找对应的IP地址。

12.不能匹配数字的正则表达式是

A、^{0-9}*$

B、^\d{n}$

C、^\d{n,}$

D、^\d{m,n}$

参考答案:A

答案解析:{}是元字符号,A缺少元字符

13如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收...

如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收者,这种情况属于哪一种攻击

A、重放攻击

B、Smurf攻击

C、字典攻击

D、中间人攻击

参考答案:D

答案解析:A:重放攻击指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的地方进行。

B:Smurf攻击是一种病毒攻击,结合使用IP欺骗和ICMP回复方法使大量网络传输充斥目标系统,引起目标系统拒绝为正常系统进行服务。Smurf攻击通过使用将回复地址设置成网络的广播地址的ICMP应答请求数据包,来淹没受害主机,最终导致该网络的所有主机都对此ICMP应答请求做出回复,导致网络阻塞。更复杂的将源地址改为第三方的受害者,最终导致第三方崩溃。

C:字典攻击是在破解密码或密钥时,逐一尝试用户自定义词典中的可能密码的攻击方式。与暴力破解的区别是,暴力破解会逐一尝试所有可能的组合密码,而字典攻击会使用一个预先定义好的单词列表。

D:中间人攻击是一种间接的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台计算机虚拟放置在网络连接中的两台通信计算机之间,这台计算机称为“中间人”。通过拦截正常的网络通信数据,并进行数据篡改和嗅探,而通信的双方毫不知情。

14.下面有关内核线程和用户线程说法错误的是?

A、用户线程因<br>I/O 而处于等待状态时,整个进程就会被调度程序切换为等待状态,其他线程得不到运行的机会

B、内核线程只运行在内核态,不受用户态上下文的影响

C、用户线程和内核线程的调度都需要经过内核态

D、内核线程有利于发挥多处理器的并发优势,但却占用了更多的系统开支

参考答案:C

答案解析:用户线程不需要,不然golang就没有存在的意义了。

15下面排序算法中,平均排序速度最快的是(  )。

A、 冒泡排序法

B、 选择排序法

C、 交换排序法

D、 堆排序法

参考答案:D

答案解析:暂无

16.静态链表中,指针表示的是()

A、下一个元素的地址

B、内存存储地址

C、下一个元素在数组中的位置

D、左链和右链指向的元素的地址

参考答案:C

答案解析:静态链表中的指针又是游标,指示下一个元素在数组中的位置

17.下面关于XML描述错误的是:( )

A、XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)

B、PHP可以使用DOM方式解析XML,也可以使用sax方式解析XML。

C、RSS也叫聚合RSS是在线共享内容的一种简易方式,它也是使用XML格式存储数据。

D、WebService传输的数据格式不可以使用XML格式的

参考答案:D

答案解析:暂无

18.在HMM中,如果已知观察序列和产生观察序列的状态序列,那么可用以下哪种方法直接进行参数估计()

A、EM算法

B、维特比算法

C、前向后向算法

D、极大似然估计

参考答案:D

答案解析:注意:观察序列和产生观察序列的状态序列已知

19.下列函数中,哪个函数可以获取文件的创建时间和修改时间

A、stat

B、pathinfo

C、filesize

D、basename

参考答案:A

答案解析:basename — 返回路径中的文件名部分,pathinfo — 返回文件路径的信息,filesize — 取得文件大小,stat — 给出文件的信息,其中关联的键名包含 atime,ctime,mtime 可以通过此函数获取文件的创建时间和修改时间

20以下哪种方法不可以设置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

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

21.安全威胁是产生安全事件的______。

A、内因

B、外因

C、根本原因

D、不相关因素

参考答案:B

答案解析:安全威胁是产生安全事件的外因

22.在MySQL中,NULL的含义是()

A、无值

B、数值0

C、空串

D、FALSE

参考答案:A

答案解析:NULL值得含义是未对该列赋值,即无值。因此,选项A正确。

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

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

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

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

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

参考答案:D

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

24下列关于文件的选项中,错误的是?

A、在linux中,一切几乎都是文件,目录也是文件

B、每个文件都要有一个“inode”数据

C、ext3文件系统和XFS文件系统文件名最长都是255字节

D、ext3文件系统和XFS文件系统的单个文件大小都是取决于块的尺寸

参考答案:D

答案解析:ext3文件系统单个文件最大:16GB-64T(取决于块尺寸) XFS文件系统单个文件最大:8exbibytes减1字节

25.以下命令描述正确的是?

du -s * | sort -nr | head

A、当前目录下个文件或目录的大小

B、对当前目录文件进行排序

C、读取占用空间最大的文件夹

D、显示前10个占用空间最大的文件或目录

参考答案:D

答案解析:du命令是对文件和目录磁盘使用的空间的查看 -s或--summarize 仅显示总计只列出最后加总的值 |sort -nr 按数值从大到小排序 |head命令一般显示前10个文件

26.正则表达式1*(0|01)* 表示的集合元素的特点是() 。

A、长度为奇数的 0、1 串

B、开始和结尾字符必须为 1 的 0、1 串

C、串的长度为偶数的 0、1 串

D、不包含子串 011 的 0、1

参考答案:D

答案解析:D 结尾要么是01要么是0,没有011的可能性.

27.PHP的Swoole扩展特点,说法错误的是?

A、Accept线程,解决Accept性能瓶颈和惊群问题

B、多进程,可以更好地利用多核

C、提供了全异步和半同步半异步2种模式

D、处理高并发IO的部分用异步模式

参考答案:B

答案解析:不是多进程,而多IO线程,可以更好地利用多核

28.如何从当前系统中卸载一个已装载的文件系统?

A、umount

B、dismount

C、mount -u

D、从 /etc/fstab 中删除这个文件系统项

参考答案:A

答案解析:语法umount(选项)(参数) 选项 -a:卸除/etc/mtab中记录的所有文件系统; -h:显示帮助; -n:卸除时不要将信息存入/etc/mtab文件中; -r:若无法成功卸除,则尝试以只读的方式(需要更多学习资料和面试题请加入qun6/7/7/0/7/9/7/7/0)重新挂入文件系统; -t:仅卸除选项中所指定的文件系统; -v:执行时显示详细的信息; -V:显示版本信息。 参数 文件系统:指定要卸载的文件系统或者其对应的设备文件名。 答案为A


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

1.下面哪些命令是bash的内置命令?

A、history

B、cd

C、echo

D、cat

参考答案:A,B,C

答案解析:history,cd,echo是内置bash命令,此类命令查看帮助时需要用help 命令。

2.关于Memcache与Redis的说法正确的有?

A、Memcache单个key(变量)存放的数据有2M的限制, Redis单个key(变量)存放的数据有1GB的限制

B、Memcache存储数据的类型都是String类型,Redis数据类型比较丰富:String、List、Set、Sortedset、Hash

C、Memcache可以使用多核(多线程),而Redis只是支持单线程

D、Memcache服务器突然断电,则全部数据就会丢失; 而Redis有持久化功能,可以把数据随时存储在磁盘上

参考答案:B,C,D

答案解析:

Memcache

该产品本身特别是数据在内存里边的存储,如果服务器突然断电,则全部数据就会丢失

单个key(变量)存放的数据有1M的限制

存储数据的类型都是String字符串类型

本身没有持久化功能

可以使用多核(多线程)

Redis

数据类型比较丰富:String、List、Set、Sortedset、Hash

有持久化功能,可以把数据随时存储在磁盘上

本身有一定的计算功能

单个key(变量)存放的数据有1GB的限制

选项A 说Memcache单个key(变量)存放的数据有2M的限制是不对的。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:aside section ._1OhGeD

查看原文:2019年新浪PHP工程师面试题和答案解析

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

855 次点击  ∙  1 赞  
加入收藏 微博
上一篇:Day 1
下一篇:golang Ioc
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传