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有持久化功能,可以把数据随时存储在磁盘上 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |