PHP面试题2019年搜狐面试题及答案解析
一、单选题(共27题,每题5分)
1.阅读下面PHP代码,并选择输出结果( )

A、0
B、1
C、2
D、3
参考答案:D
答案解析:static属性常驻内存
2.PHP单例模式操作描述错误的是?
A、单例模式第一次实例会被建立以后执行可以直接使用
B、需要一个保存类的唯一实例的静态成员变量
C、构造函数和克隆函数必须声明为私有的
D、必须提供一个访问这个实例的公共的静态方法
参考答案:A
答案解析:PHP中,所有的变量无论是全局变量还是类的静态成员,都是页面级的,每次页面被执行时, 都会重新建立新的对象,都会在页面执行完毕后被清空,这样似乎PHP单例模式就没有什么意义了, 所以PHP单例模式只是针对单次页面级请求时出现多个应用场景并需要共享同一对象资源时有意义
3.下面那个不是mysql存储引擎的锁类型?
A、表锁
B、页锁
C、行锁
D、无
参考答案:B
答案解析:mysql中myisam是有表锁,innodb是行锁,基于索引加锁,如果where条件没有索引,是所有行加锁;sql server才有页锁
4.以下哪条不是PHP语言的特性?
A、开源
B、免费
C、基于客户端
D、便捷高效
参考答案:C
答案解析:PHP语言的特性为:开源、免费和便捷高效。
5.关于PHP模式修饰符说法错误的是?
A、i 大小写不敏感匹配
B、m ^将只匹配字符串的开头
C、x 空白和#注释将被忽略
D、将替换后的字符串作为php代码评估执行
参考答案:B
答案解析:m为增强的行锚点模式,\\n的前后也会被认为结束和开始
6.关于Laravel中间件错误的是?
A、运行Artisan 命令 make:middleware 创建新的中间件
B、可定义前置 & 后置中间件
C、中间件是代理模式
D、中间件是中介模式
参考答案:C
答案解析:运行Artisan 命令 make:middleware 创建新的中间件 可定义前置 & 后置中间件
7.要激活GD库,必须启用配置文件中的( )命令
A、php_gd2.dll
B、PHP.dll
C、PHP.ini
D、php_mbstring.dll
8.关于在PHP中的socket,说法错误的是
A、可使用fsocketopen函数建立socket连接
B、工作在第七层,可基于TCP和UDP协议
C、在PHP中默认超时时间是30秒
D、工作在第四层,可基于TCP和UDP协议
参考答案:B
答案解析:工作在第四层,可基于TCP和UDP协议 在PHP中默认超时时间是30秒
9.JSON格式数据,错误的是?
A、JSON一种轻量级的数据交换格式
B、JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)
C、这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。
D、值是无序列表
参考答案:D
答案解析:值是有序列表
10.关于PHP数组排序原理,错误的是?
A、申请n个额外空间
B、遍历双链表
C、排序后单链表中节点的位置发生变化,因而调整指定指向
D、设置HashTable的pListTail
参考答案:C
答案解析:1.申请n个额外空间 2.遍历双链表 3.调用排序函数zend\_qsort(内部是快速排序算法)对数组排序 4.排序后,双链表中节点的位置发生变化,因而调整指定指向 5.遍历数组,分别设置每一个节点的pListLast和pListNext 6.设置HashTable的pListTail
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家(11年架构师带你解读年薪50万面试通关秘籍。)
如果喜欢我的文章,想与一群资深开发者一起交流学习的话,获取更多相关大厂面试咨询和指导,欢迎加入我的学习交流群点击此处PHP高级交流
11.关于Redis的应用场景,以下说法不正确的是?
A、交集,并集,差集
B、计数器、队列
C、排行榜
D、新闻发布系统
12.关于漏洞扫描的描述,以下哪项是错误的?
A、漏洞扫描是一种基于网络远程检测目标网络或主机安全性脆弱性的技术,可以被用来进行模拟攻击实验和安全审计.
B、漏洞扫描用来探测目标主机系统是否存在漏洞,一般是对目标主机进行特定漏洞的扫描.
C、漏洞扫描就是一种被动的防范措施,可以有效避免黑客攻击行为.
D、可以根据Ping扫描和端口扫描的结果进行漏洞扫描.
参考答案:C
答案解析:漏洞扫描是一种主动的防范措施,能有效避免黑客攻击行为,做到防患于未然安全扫描就是一种主动的防范措施
13.PHP程序使用utf-8编码, 以下程序输出结果是什么?
A、9
B、13(gbk)
C、18
D、17(utf8)
参考答案:D
答案解析:strlen() 函数返回字符串的长度。utf-8编码一个汉字是3个字符,5个英文字符+3字符\*4个中文=17个字符
14.栈和队列具有相同的()
A、抽象数据类型
B、逻辑结构
C、存储结构
D、运算
参考答案:B
答案解析:线性表、栈、队列的逻辑结构是一样的,都属于线性结构。只是他们对数据的运算不同,从而表现出不同的特点
15.为什么InnoDB表要建议用自增列做主键?
A、使用自增列(INT/BIGINT类型)做主键,这时候写入顺序是自增的,和B+数叶子节点分裂顺序一致
B、无
C、该表不指定自增列做主键,同时也没有可以被选为主键的唯一索引(上面的条件),这时候InnoDB会选择内置的ROWID作为主键,写入顺序和ROWID增长顺序一致
D、使用自增列(INT/BIGINT类型)做主键,这时候写入顺序是自增的,和B+数叶子节点分裂顺序一致; 该表不指定自增列做主键,同时也没有可以被选为主键的唯一索引(上面的条件),这时候InnoDB会选择内置的ROWID作为主键,写入顺序和ROWID增长顺序一致; 除此以外,如果一个InnoDB表又没有显示主键,又有可以被选择为主键的唯一索引,但该唯一索引可能不是递增关系时(例如字符串、UUID、多字段联合唯一索引的情况),该表的存取效率就会比较差
16.对以下Javascript代码说法正确的是?
A、值为 0
B、obj2引用了obj1的方法
C、执行call时,函数里的this指向obj1
D、最后obj1的value值为6
17.以下关于引用说法错误的是?
A、引用不是C的指针
B、引用不允许用两个变量来指向同一个内容
C、用引用可以传递变量
D、可以将一个变量通过引用传递给函数,这样该函数就可以修改其参数的值。
参考答案:B
答案解析:引用是允许用两个变量来指向同一个内容的
18.GoAccess虽然很强大但是他不能做以下哪项工作?
A、生成统计数据带宽统计
B、可生成HTML报告
C、可发送HTTP请求
D、各HTTP状态码统计
19.关于线程的,说法错误的是?
A、线程是进程的一个实体,是CPU调度和分派的基本单位
B、它是比进程更小的能独立运行的基本单位
C、线程和进程一样拥有系统资源
D、线程自己基本上不拥有系统资源
20.关于php文件指针的说法错误的是?
A、feeek() 移动文件指针到指定位置
B、fcreate() 用于创建一个文件
C、rewind()将文件指针设为文件流的开头
D、feof() 测试文件指针是否到达文件结束的位置
21.下边是php的函数而不是语言结构的是?
A、eval()
B、require_once()
C、list()
D、empty()
22.该正则可以匹配下列哪个字符串? /^sjm/
A、absjm
B、phpsjm
C、sjmphp
D、phpsimd
23.下列哪个选项可以查看php运行模式?
A、php -r phpinfo();|find / grep"Server API"
B、php -r "echo php_sapi_name();"
C、phpinfo();
D、以上都是
24.以下inode不包含的是?
A、文件的读写权限
B、文件的位置
C、当前目录下的文件数
D、文件的时间戳
25.以下代码输出的结果是?
A、1
B、2
C、3
D、4
26.把CSS样式表与HTML网页关联,不正确的方法是( )。
A、在HTML文档的<head>标签内定义CSS样式
B、用@import引入样式表文件
C、在HTML文档的<!-- -->标签内定义CSS样式
D、用<link>标签链接网上可访问的CSS样式表文件
27.一下哪个不是PHP的运行模式?
A、CGI
B、FastCGI
C、apache2handler
D、apache
二、多选题(共3题,每题5分)
1.分库分表之后,id 主键如何处理?
A、单库生成自增 id
B、设置数据库 sequence 或者表自增字段步长
C、UUID
D、snowflake 算法
PHP面试题2019年搜狐面试题及答案解析的更多相关文章
- 2019年12道RabbitMQ高频面试题你都会了吗?(含答案解析)
RabbitMQ 面试题 1.什么是 rabbitmq 2.为什么要使用 rabbitmq 3.使用 rabbitmq 的场景 4.如何确保消息正确地发送至 RabbitMQ? 如何确保消息接收方消费 ...
- PHP面试题2019年百度工程师面试题及答案解析
一.单选题(共10题,每题5分) 1.以下代码输出的结果是? A.[0,1,2,3] B.[1,3,5,7,5] C.[1,2,3,4,5] D.[0,1,2,3,5] 参考答案:D 答案解析 ...
- PHP面试题2019年京东工程师面试题及答案解析
一.单选题(共28题,每题5分) 1.Apache与Nginx大访问下性能描述正确的是? A.Apache所采用的epoll网络I/O模型非常高效 B.Nginx使用了最新的kqueue和select ...
- PHP面试题2019年小米工程师面试题及答案解析
一.单选题(共29题,每题5分) 1.PHP面向对象方法重写描述错误的是? A.子类必须继承父类 B.子类可以重写父类已有方法 C.重写之后子类会调用父类方法 D.子类也可以具有与父类同名的属性,进行 ...
- 2020年大厂Java面试前复习的正确姿势(800+面试题附答案解析)
前言 个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事.所以,劝各位不要因为面试失败而灰心. 丧失斗志.也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油! 本篇分享的面试题内容 ...
- 2019 搜狐java面试笔试题 (含面试题解析)
本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.搜狐等公司offer,岗位是Java后端开发,因为发展原因最终选择去了搜狐,入职一年时间了,也成为了面试官,之 ...
- 剑指Offer——当当+搜狐+好未来笔试题+知识点总结
剑指Offer--当当+搜狐+好未来笔试题+知识点总结 情景回想 时间:2016.9.21 15:00-21:00 地点:山东省网络环境智能计算技术重点实验室 事件:当当笔试.搜狐笔试.好未来笔试 3 ...
- 剑指Offer——搜狐畅游笔试题+知识点总结
剑指Offer--搜狐畅游笔试题+知识点总结 情景回顾 时间:2016.9.24 10:00-12:00 地点:山东省网络环境智能计算技术重点实验室 事件:搜狐畅游笔试 注意事项:要有大局观,该舍 ...
- 最新 搜狐java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.搜狐等10家互联网公司的校招Offer,因为某些自身原因最终选择了搜狐.6.7月主要是做系统复习.项目复盘.LeetCode ...
随机推荐
- vue template标签
在普通的html里面: template标签默认有个 display:none; 属性,并且其里面的内容是不可见的. 在vue里面: template标签类似一个隐藏的div,在审查元素的时候是找不到 ...
- Java中String直接赋字符串和new String的一些问题
今天课堂测试做了几道String的练习题,做完直接心态爆炸...... 整理自下面两篇博客: https://www.cnblogs.com/marsitman/p/11248001.html htt ...
- (转)理解滑动平均(exponential moving average)
转自:理解滑动平均(exponential moving average) 1. 用滑动平均估计局部均值 滑动平均(exponential moving average),或者叫做指数加权平均(exp ...
- Geohash精度和原理
转自:https://blog.csdn.net/u011497262/article/details/81210634 https://www.jianshu.com/p/1ecf03293b9a ...
- Python Web(四)
Infi-chu: http://www.cnblogs.com/Infi-chu/ 一.Django-forms作用 前端和后端都要校验 前端校验的目的:减少后端的压力 用forms可以同时完成前端 ...
- JS Switch
JS Switch switch 语句用于基于不同的条件来执行不同的动作. switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; defa ...
- Android 上下文菜单 PopupMenu
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ...
- 从零开始的SpringBoot项目搭建
前言 今天是我加入博客园的第一天今天刚好学习到SpringBoot,就顺便记录一下吧 一.创建项目 1.创建工程 ① 通过File > New > Project,新建工程,选择Sprin ...
- 成功安装SQL Server实例后 无法找到SQL Server Configuration Manager工具的解决方案
有一次成功安装SQL Server实例后 ,但是在所有程序中无法找到SQL Server Configuration Manager工具,以下步骤是我们当时的解决方案.最后成功将这个工具的转移到了桌面 ...
- Linux—chattr 命令详解
chattr命令的用法:chattr [ -RV ] [ -v version ] [ mode ] files…最关键的是[mode]部分,[mode]部分是由+-=和[ASacDdIijsTtu] ...