PHP面试题2019年奇虎360面试题及答案解析
一、单选题(共29题,每题5分)
1.以下代码 a.php 输出的结果是?
a.php 的代码如下:
b.php的代码如下:
A、foo in a
B、什么也不输出
C、报错
D、foo in b
参考答案:C
答案解析:
答案是C 想让大家思考的是、为什么在b里边使用了return、依然可以找到foo函数的定义、并且报错 Cannot redeclare foo() ? 因为php是在运行之前先解释执行、为避免表述不精确、附上文档原文:Note that because PHP processes the file before running it, any functions defined in an included file will still be available, even if the file is not executed.
2.php中单引号和双引号包含字符串的区别正确的是?
A、单引号速度快,双引号速度慢
B、双引号速度快,单引号速度慢
C、单引号里面可以解析转义字符
D、双引号里面可以解析变量
参考答案:D
答案解析:在PHP定义字符串的时候,单引号和双引号没有速度差别,但是单引号中的字符全部是原样输出,而双引号可以解析变量和转义字符。
3.在SQL语言中,子查询是?
A、选取单表中字段子集的查询语句
B、选取多表中字段子集的查询语句
C、返回单表中数据子集的查询语言
D、嵌入到另一个查询语句之中的查询语句
参考答案:D
答案解析:嵌套SELECT语句也叫子查询,一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询不但能够出现在Where子句中,也能够出现在from子句中,作为一个临时表使用,也能够出现在select list中,作为一个字段值来返回。
4.mb_作为前缀的函数作用是?
A、按照字节获取长度
B、按照字符获取长度
C、按照厘米获取长度
D、按照公分获取长度
参考答案:B
答案解析:按照字符获取长度。
5.PHP的垃圾收集机制,说法错误的是?
A、PHP使用的回收算法是引用计数法,每个php变量存在一个叫"zval"的变量容器中。
B、一个zval变量容器,除了包含变量的类型和值,还包括两个字节的额外信息。第一个是"is_ref",是个bool值,用来标识这个变量是否是属于引用集合(reference set)。 第二个额外字节是"refcount",用以表示指向这个zval变量容器的变量(也称符号即symbol)个数。
C、把一个变量赋值给另一变量不会增加引用次数(refcount) 当任何关联到某个变量容器的变量离开它的作用域(比如:函数执行结束),或者对变量调用了函数 unset()时,"refcount"就会减1
D、变量容器在"refcount"变成0时就被销毁
参考答案:C
答案解析:把一个变量赋值给另一变量将增加引用次数(refcount)。
6.以下哪种病毒是通过操作系统漏洞传播的
A、QQ尾巴
B、传奇杀手
C、性感烤鸡
D、冲击波
参考答案:D
答案解析:暂无
7.假设某网站www.exploit.com存在文件上传漏洞,php语言编写,...
假设某网站www.exploit.com存在文件上传漏洞,php语言编写,根目录是C:\wwwroot,现构造文件名test.php上传到服务器目录C:\wwwroot\upload下,内容为,
请问下面的哪条url能够在服务器成功执行whoami命令?
A、http://www.exploit.com/upload/test.php?cmd=system('whoami');
B、http://www.exploit.com/test.php?cmd=system('whoami');
C、http://www.exploit.com/upload/test.php?cmd=whoami
D、http://www.exploit.com/upload/test.php?eval=system('whoami');
参考答案:A
8.关于数据库的读写分离,假设某数据库的工作负载为20%的写,80%的读,并有如下的前提: 1)读和写查询消耗同样的资源。 2)所有的服务器的配置相同。 3)可以把所有的读操作全都转移到从库。 那么如果一个服务器每秒可以支持1000的查询,那么需要增加多少从库才能将负载增加到2000?
A、1台
B、2台
C、3台
D、4台
参考答案:C
答案解析:此问题关键点在于增加的从库也是需要承担写操作的,因为需要通过binlog完成同步。所以每增加一台从库实际是只能承担600的读操作,因为留出400的写操作。那么2000的负载中有1600的写操作,需要3台才能完全消耗。
9.下面那个不是mysql存储引擎的锁类型?
A、表锁
B、页锁
C、行锁
D、无
参考答案:B
答案解析:mysql中myisam是有表锁,innodb是行锁,基于索引加锁,如果where条件没有索引,是所有行加锁;sql server才有页锁。
10.php中关于字符串处理函数以下说法正确的是?
A、implode( )方法可以将字符串拆解为数组
B、str_replace()可以替换指定位置的字符串
C、substr( )可以截取字符串
D、strlen( )不能取到字符串的长度
参考答案:C
答案解析:implode()方法是将数组连接为字符串,explode()方法是将字符串拆解为数组 str\_replace()是用指定字符替换原字符串中的某些字符,替换指定位置字符串的方法是 substr\_replace() substr()可以截取字符串,如果截取中文字符串可以用mb\_substr() 获取字符串长度的方法为strlen() 综上,C选项是正确的
很多人在刚接触这个行业的时候或者是在遇到瓶颈期的时候,总会遇到一些问题,比如学了一段时间感觉没有方向感,不知道该从那里入手去学习,对此我整理了一些资料,需要的可以免费分享给大家(11年架构师带你解读年薪50万面试通关秘籍。)
如果喜欢我的文章,想与一群资深开发者一起交流学习的话,获取更多相关大厂面试咨询和指导,欢迎加入我的学习交流群点击此处PHP高级交流
11.在 bash 中, 在一条命令后加入 "1>&2" 意味着?
A、标准错误输出重定向到标准输入
B、标准输入重定向到标准错误输出
C、标准输出重定向到标准错误输出
D、标准输出重定向到标准输入
参考答案:C
答案解析:Linux 中有三个系统文件描述符: 0:标准输入; 1:标准输出; 2:标准错误输出。
12.下面的脚本运行以后,$array数组所包含的值是什么?
A、array (‘2’ , ‘2’)
B、array (‘1’ , ‘1’)
C、array (2 , 2)
D、array (Null , Null)
13.以下不是PHP文件操作函数是?
A、file
B、fopen
C、fread
D、strcoll
14.在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 ....";}
15.与 HTTP1.0 相比,HTTP1.1 的优点不包括( )
A、减少了 RTTs 数量
B、支持持久连接
C、减少了 TCP 慢启动次数
D、提高了安全性
16.关于mysql的说法,下面那个是错误的
A、数据库实列才是用来真正操作数据库文件的
B、一个数据库可以对应多个实列
C、数据库是物理操作系统文件或其他形式文件类型的集合
D、数据库实列由数据库后台进程/线程及一个共享内存区组成
17.以下awk用法描述正确的是?
awk '{a[$1,"/t", $2] += $4} END {for (uin in a) printf("%s/t%d/n", uin, a[uin]) }' test
A、可以处理字符格式数据
B、可以处理三维数组逻辑
C、可以处理json格式数据
D、可以处理二维数组数据
18.以下inode不包含的是?
A、文件的读写权限
B、文件的位置
C、当前目录下的文件数
D、文件的时间戳
参考答案:C
答案解析:inode中存的是该文件种的信息,包含文件的字节数,uid和gid,读写执行权限,时间戳ctime、mtime、atime,链接数:有多少个文件名指向这个inode,文件数据block位置
19.php中处理xml,说法错误的是?
A、可以使用DOMDocument加载
B、SimpleXML扩展提供了一个非常直观的API,更容易将XML转换成对象和遍历元素。建议使用SimpleXML加载非常大的XML文件
C、SimpleXML和DOM扩展是属于基于树的解析器,把整个文档存储为树的数据结构中,需要把整个文档都加载到内存中才能工作,所以当处理大型XML文档的时候,性能会剧减
D、XMLReader是一个XML解析器,它通过在加载过程中遍历每个节点,在而不是在内存中加载整个文档
20.PHP单例模式使用场景描述错误的是?
A、一个应用中会存在大量的数据库操作,比如过数据库句柄来连接数据库这一行为, 是典型的单例模式
B、如果系统中需要有一个类来全局控制某些配置信息, 那么使用单例模式可以很方便的实现
C、需要curd时使用单例模式可以提高执行效率
D、Web配置项读取使用单例模式意义不大
参考答案:D
答案解析:由于web配置项属于共享资源,所以使用单例模式可以提高执行效率
21.关于Laravel路由,错误的是?
A、所有的 Laravel 路由都在 routes 目录中的路由文件中定义
B、web 中间件组,没有提供会话状态和 CSRF 保护
C、大多数的应用构建,都是以在 routes/web.php 文件定义路由开始的
D、routes/web.php 文件用于定义 web 界面的路由
参考答案:B
答案解析: 所有的 Laravel 路由都在 routes 目录中的路由文件中定义 routes/web.php 文件用于定义 web 界面的路由 大多数的应用构建,都是以在 routes/web.php 文件定义路由开始的
22.若文件存在,则用file()函数打开文件返回的数据类型是?
A、数组
B、字符串
C、整型
D、根据文件类型来定
参考答案:A
答案解析:file() 将文件作为一个数组返回。数组中的每个单元都是文件中相应的一行,包括换行符在内。如果失败,则返回 false。
23支持子程序调用的数据结构是
A、队列
B、二叉树
C、树
D、栈
参考答案:D
答案解析:栈用于支持子程序调用综上,正确答案为D。
24.是PHP魔术方法的是?
A、__function
B、__to
C、__line
D、__invoke
参考答案:D
答案解析:
__construct __destruct __call __callStatic __get __set __isset __clone __unset __sleep __wakeup __toString __invoke __set_state
25.用某排序方法对一元素序列进行非递减排序时,若该方法可保证在排序前后排序码相同者的相对位置不变,则称该排序方法是稳定的。简单选择排序法排序方法是不稳定的,(61)可以说明这个性质。
A、21 48 21* 63 17
B、17 21 21* 48 63
C、 63 21 48 21* 17
D、21* 17 48 63 21
26.属于awk GNU版本的是?
A、awk
B、gawk
C、nawk
D、ngawk
参考答案:B
答案解析:gawk为awk的gnu版本
27.以下关于PHP字符串说法错误的是?
A、PHP字符串二进制安全的
B、PHP字符串最大为2G
C、PHP字符串可以被序列化
D、PHP字符串可以使用\0来结束
28.PHP常量和常量类理解错误的是?
A、常量在定义的时候就需要赋值,在运行过程中就无法修改值
B、常量使用的时候需要引用
C、在类的内部可以用类名来访问自身的常量
D、const 关键字定义常量必须处于最顶端的作用区域
29.Apache与Nginx大访问下性能描述正确的是?
A、Apache所采用的epoll网络I/O模型非常高效
B、Nginx使用了最新的kqueue和select网络I/O模型
C、Apache进程执行PHP、输出HTML都得干,占用的资源多
D、nginx不可以做反向代理服务器
二、多选题(共1题,每题5分)
1如果需要开发一个标准 php 的扩展,必须包含那些文件?
A、config.m4
B、config.w32
C、php_counter.h
D、counter.c
E、package.xml
参考答案:A,B,C,D
答案解析:参考:PHP扩展开发--编写一个helloWorld扩展
https://www.cnblogs.com/boystar/p/6904795.htmlhttp...
PHP面试题2019年奇虎360面试题及答案解析的更多相关文章
- 奇虎360诉腾讯QQ垄断案之我见(3Q大战之我见)
这两款软件我都在用,要说时间最长感情最深的应该是腾讯QQ,1999年诞生的那年就在用QQ了! 不过感情归感情,个人看法归个人看法,不能用感情来判断. 正所谓外行看热闹,内行看门道.从事实上讲在使用这两 ...
- 瑞星杀毒软件、奇虎360杀毒软件、360卫士、百度卫士联手,搞不定弹出广告 & 恶意广告图标
一位网友说他的电脑近期出了问题:开机后桌面和任务栏上的高速启动栏会出现恶意图标.删除了下次开机又会出现:使用电脑过程中每分钟都会弹出广告.他为电脑安装了瑞星杀毒软件.奇虎360杀毒软件.360卫士.百 ...
- 每天200亿次查询 – MongoDB在奇虎360【转】
100多个应用,1,500多个实例,每天200亿次查询 奇虎是中国最大的安卓移动发布平台.奇虎也是中国最顶尖的病毒软件防护公司,同时为网络以及移动平台提供产品.自从2011年成为MongoDB的用户之 ...
- 奇虎360选择IPO “壳概念”很受伤
黄一帆 “市场正呈现出为一幕经典影像:在绚丽的霞光笼罩下,蔚蓝色的大海边,在金色的海岸上,欢笑的孩子们踮起脚尖,刚好看见原来海平面露出的航船桅杆——那是缓缓驶来的注册制号:而转过头来,则是沙滩上大 ...
- 面筋: 奇虎360 c++ 后台开发 实习生 面试
投的是360上海的商业化部门,岗位是C++服务端开发实习生,记录一下面试历程: 视频面试,但是是有代码框让你写代码的. 一面: Q:先说一下个人信息,做过的项目 A:.......... Q:先写个翻 ...
- mysql-proxy之奇虎360 Atlas 安装实现mysql读写分离
官方git https://github.com/Qihoo360/Atlas 参照:http://blog.qixingzhong.com/2013/09/centos-install-atlas. ...
- 奇虎360Java笔试题
1题 运行下面程序后的输出结果是() public class Test { public static void main(String[] args) { StringBuffer a = new ...
- 奇虎360的开源OpenResty Windows版本
https://github.com/LomoX-Offical/nginx-openresty-windows
- PHP面试题2019年新浪工程师面试题及答案解析
一.单选题(共28题,每题5分) 1.以下语句输出的结果是什么? A.3$a\$a3336 B.33\$a3336 C.$a$a\$a3336 D.3$a\$a333$a$a 参考答案:A 答案解析: ...
随机推荐
- maven私服的配置使用
maven的仓库分为本地仓库,远程仓库和私服仓库. 私服仓库一般是公司内部私有的,内部进行维护的.公司员工连接私服,从私服中下载jar,或者将自身的jar传到私服上.私服还可以从中央仓库下载jar,当 ...
- ABP开发框架前后端开发系列---(14)基于Winform的ABP快速开发框架
前面介绍了很多ABP系列的文章,一步一步的把我们日常开发中涉及到的Web API服务构建.登录日志和操作审计日志.字典管理模块.省份城市的信息维护.权限管理模块中的组织机构.用户.角色.权限.菜单等内 ...
- JPA的entityManager的find方法与getReference方法的区别
场景 JPA入门简介与搭建HelloWorld(附代码下载): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103473937 ...
- for循环使用element的折叠面板遇到的问题-1
首先,效果是点击添加折叠面板,折叠面板的title右侧是关闭的小按钮,每次添加的面板都自动展开,其他的面板自动关闭,但其中发现一个问题是,每次点击关闭的时候,虽然上一个面板被关闭了,但他的下一个会自动 ...
- 2019 DevOps 必备面试题——持续集成篇
原文地址:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君 ...
- Linux iotop工具简介
iotop的简介: iotop是一款开源.免费的用来监控磁盘I/O使用状况的类似top命令的工具,iotop可以监控进程的I/O信息.它是Python语言编写的,与iostat工具比较,iostat是 ...
- Spring 事务 属性 详细
学习东西要知行合一,如果只是知道理论而没实践过,那么掌握的也不会特别扎实,估计过几天就会忘记,接下来我们一起实践来学习Spring事务的传播属性. 传播属性 传播属性定义的是当一个事务方法碰到另一个事 ...
- bay——RAC 关闭和启动顺序,状态查看.txt
oracle 11g rac 关闭和启动顺序,状态查看https://www.cnblogs.com/hellojesson/p/4501112.html----------------------- ...
- 201871010101-陈来弟《面向对象程序设计(java)》第一周学习总结
项目 内容 这个作业属于哪个课程 <任课教师博客主页链接>https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址>http ...
- python中可变与不可变类型的全局变量
python中的不可变类型的全局变量如int a=1,str b='hello', 若需要修改必须加global申明, 而全局变量是可变类型的,如list, dict ,则直接修改list.app ...