PHP面试题2019年新浪工程师面试题及答案解析
一、单选题(共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,然后修改数据页,再记数据页修改的redo。Redo(里面包括undo的修改)一定要比数据页先持久化到磁盘。当事务需要回滚时,因为有undo,可以把数据页回滚到前镜像的状态,崩溃恢复时,如果redo log中事务没有对应的commit记录,那么需要用undo把该事务的修改回滚到事务开始之前。如果有commit记录,就用redo前滚到该事务完成时并提交掉。
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加密的网页所采用的协议是()。
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年架构师带你解读年薪50万面试通关秘籍。)
如果喜欢我的文章,想与一群资深开发者一起交流学习的话,获取更多相关大厂面试咨询和指导,欢迎加入我的学习交流群点击此处PHP高级交流
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}$
13.如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收...
如果一名攻击者截获了一个公钥,然后他将这个公钥替换为自己的公钥并发送给接收者,这种情况属于哪一种攻击
A、重放攻击
B、Smurf攻击
C、字典攻击
D、中间人攻击
14.下面有关内核线程和用户线程说法错误的是?
A、用户线程因<br>I/O 而处于等待状态时,整个进程就会被调度程序切换为等待状态,其他线程得不到运行的机会
B、内核线程只运行在内核态,不受用户态上下文的影响
C、用户线程和内核线程的调度都需要经过内核态
D、内核线程有利于发挥多处理器的并发优势,但却占用了更多的系统开支
参考答案:C
答案解析:用户线程不需要,不然golang就没有存在的意义了。
15下面排序算法中,平均排序速度最快的是( )。
A、 冒泡排序法
B、 选择排序法
C、 交换排序法
D、 堆排序法
参考答案:D
答案解析:暂无
16.静态链表中,指针表示的是()
A、下一个元素的地址
B、内存存储地址
C、下一个元素在数组中的位置
D、左链和右链指向的元素的地址
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、极大似然估计
19.下列函数中,哪个函数可以获取文件的创建时间和修改时间
A、stat
B、pathinfo
C、filesize
D、basename
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);
21.安全威胁是产生安全事件的______。
A、内因
B、外因
C、根本原因
D、不相关因素
22.在MySQL中,NULL的含义是()
A、无值
B、数值0
C、空串
D、FALSE
23.在SQL语言中,子查询是?
A、选取单表中字段子集的查询语句
B、选取多表中字段子集的查询语句
C、返回单表中数据子集的查询语言
D、嵌入到另一个查询语句之中的查询语句
24下列关于文件的选项中,错误的是?
A、在linux中,一切几乎都是文件,目录也是文件
B、每个文件都要有一个“inode”数据
C、ext3文件系统和XFS文件系统文件名最长都是255字节
D、ext3文件系统和XFS文件系统的单个文件大小都是取决于块的尺寸
25.以下命令描述正确的是?
du -s * | sort -nr | head
A、当前目录下个文件或目录的大小
B、对当前目录文件进行排序
C、读取占用空间最大的文件夹
D、显示前10个占用空间最大的文件或目录
26.正则表达式 1*(0|01)* 表示的集合元素的特点是() 。
A、长度为奇数的 0、1 串
B、开始和结尾字符必须为 1 的 0、1 串
C、串的长度为偶数的 0、1 串
D、不包含子串 011 的 0、1
27.PHP的Swoole扩展特点,说法错误的是?
A、Accept线程,解决Accept性能瓶颈和惊群问题
B、多进程,可以更好地利用多核
C、提供了全异步和半同步半异步2种模式
D、处理高并发IO的部分用异步模式
28.如何从当前系统中卸载一个已装载的文件系统?
A、umount
B、dismount
C、mount -u
D、从 /etc/fstab 中删除这个文件系统项
二、多选题(共2题,每题5分)
1.下面哪些命令是bash的内置命令?
A、history
B、cd
C、echo
D、cat
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有持久化功能,可以把数据随时存储在磁盘上