传说,这套题只要答对8题,就可月薪过10K。可现实老是很骨感,按个人测试结果(答对14题)还不到8k,也就乐呵一下吧。无论怎样,这套题目不光光是考验php基本语法那点东西,涉及的范围仍是很广的,会的我都做了说明,实在不懂的就不瞎写了。php
一、有关PHP字符串的说法,不对的是: C
A、若是一个脚本的编码是ISO-8859-1,则其中的字符串也会被编码为 ISO-8859-1。
B、PHP的字符串在内部是字节组成的数组,用花括号访问或修改字符串对多字节字符集很不安全。
C、substr()、strpos()、strlen()、htmlentities()处理字符串时依据的编码方式是相同的。
D、一个布尔值 Boolean 的 true 被转换成 string 的 “ 1”,false 被转换成空字符串。
//substr多字节字符会乱码html
二、下列Linux下Shell命令的说法,不正确的是:D
A、crontab做业:“ 0 5,6,7 * * /home/www/test.sh”意思是天天的第5,6,7小时执行脚本。
B、“ find ./ -type f -name ".php" -print0 | xargs -0 wc -l ” 能统计当前目录下PHP代码的总行数。
C、Shell下执行命令“ :(){:|:& };: ”,系统会没有响应,只能重启了。
D、“ $@ ”将函数中全部参数当成单个字符串,“ $*”把函数的全部参数当一个数组。
//都是取全部参数,前者是存到列表,后者做为一个字符串程序员
三、如下正则表达式的说法,错误的是:C
A、POSIX兼容正则没有修正符,PERL兼容正则中可能用到修正符。
B、{n,},n是一个非负整数,意思是至少匹配n次;?等价于匹配长度{0,1} 。
C、PERL风格正则默认的非贪婪模式尽量少的匹配所搜索的字符串。
D、在执行效率上 preg_match 比ereg的速度要略快一些。
//反了正则表达式
四、关于PHP数组的说法,不对的是:B
A、处理PHP数组,foreach的效率要比for高不少,是由于foreach走的是链表的遍历。
B、PHP数组底层采用的是循环链表,正向、反向遍历数组都很方便。
C、不管是 array(1, 2, 3) 仍是array(1 => 2, 2=>4)等,本质上都是hash_table。
D、PHP数组插入和删除操做的时间复杂度都是O(1)。
//双向链表算法
五、有关PHP引用的说法,错误的是: B
A、unset一个引用,只是断开了变量名和变量内容之间的绑定,这并不意味着变量内容被销毁了。
B、PHP引用本质就是指针,在函数调用范围内能够绑定到别的变量上面。
C、在一个对象的方法中,$this永远是调用它的对象的引用。
D、能够将一个变量经过引用传递给函数,这样该函数就能够修改其参数的值。
//引用只是值内存块的别名,而指针是一个实体,存放的值内存地址,须要额外分配内存空间。sql
六、如下对PHP命名空间的说法,不对的是:B
A、访问任意全局类、函数或常量,均可以使用彻底限定名称,例如 \strlen() 或 \Exception 或 \INI_ALL。
B、关键字 namespace可用来显式访问当前命名空间或子命名空间中的元素,它等价于类中的 this 操做符。
C、任意合法的PHP代码均可以包含在命名空间中,但只有三种类型的代码受命名空间的影响,它们是:类,函数和常量。
D、常量NAMESPACE的值是当前命名空间名称的字符串。在全局的,不包括在任何命名空间中的代码,它就是一个空字符串。
//namespace 是声明命名空间的数据库
七、下列PHP相关的说法,错误的是:D
A、PHP官方推荐使用Apache的prefork模式,此模式下建议选用Non Thread Safe版本。
B、FastCGI下选择Non Thread Safe版本;ISAPI下选择Thread Safe版本。
C、用PHP彩蛋能大体获取PHP的版本, PHP中一共隐藏了4个彩蛋。
D、官方不建议将Non ThreadSafe用于生产环境,因此咱们选择Thread Safe版本的PHP来使用。
//fastcgi就须要nts版本编程
八、关于JavaScript的说法,不正确的是:A
A、语句“ alert(1==true); ” 和语句 “ alert(2==true); ” 的结果都是true。
B、JS的数组其实就是对象,用for...in语句能够遍历数组的全部属性。
C、JS中的对象经过引用来传递,它们永远不会被复制。
D、JS中的函数就是对象,因此它们能够像任何其余的值同样被使用。
//alert(2==true) 是 falsevim
九、有关PHP面向对象的说法,不对的是: C
A、要实现一个接口,使用 implements操做符,类中必须实现接口中定义的全部方法,不然会报一个致命错误。
B、类名能够是任何非 PHP保留字的合法标签,汉字也能够做为PHP的类名。
C、若是PHP的子类中定义了构造函数,则建立子类的对象时,会隐式的调用其父类的构造函数。
D、序列化一个对象将会保存对象的全部变量,可是不会保存对象的方法,只会保存类的名字。
//必须显式调用 parent::__construct();设计模式
十、如下PHP高级特性的说法,正确的是:B
A、咱们能够定义一个类去实现预约义接口Iterator,而后就能像访问数组同样访问这个类建立的对象。
B、splautoloadregister()提供了一种更加灵活的方式来实现类的自动加载,再也不建议使用 autoload() 函数。
C、PHP在对象中调用一个不可访问方法时,invoke()方法会被自动调用。
D、匿名函数也叫闭包函数,经常使用做回调函数参数的值,可是不能做为变量的值来使用。
//A:应该是ArrayAccess C:__call D:匿名函数能够赋值给变量
十一、下列关于HTTP协议的说法,错误的是:B
A、若是本地开启了Cookie,那么每打开一个网址,HTTP请求就会把相应的Cookie传给Web服务器。
B、HTTP响应的状态码为301意思是暂时地把内容转移到一个新的URL,可是老的URL尚未废除。
C、HTTP是一个基于请求与响应模式的、无状态的、应用层的协议,绝大多数的Web开发都是基于HTTP协议。
D、绝大多数的Web开发离不开Cookie,若是禁用Cookie致使Session失效,能够经过URL来传递sessionID。
//301表示永久重定向
十二、如下对PHP文件处理的说法,正确的是:C A、filegetcontents()函数能用来抓取网页数据,可是没办法设置超时时间 。
B、file() 函数既能读取文本文件也能读取二进制文件,可是读取二进制文件有可能出现安全问题。
C、若是表单中没有选择上传的文件,则 PHP 变量 的值将为NULL 。
D、fsockopen()和fputs()结合起来能够发送邮件,也能够用来抓取网页内容,下载ftp文件等。
//A:能够经过context参数设置 B:fputs是写入,只能用于上传
1三、关于Mysql索引的说法,不对的是:C
A、500万数据的用户表user在性别字段sex上创建了索引,语句 “select * from user where sex=1 ” 并不会提速多少。
B、通常状况下不鼓励使用like操做,相似的“ like "abc%" ” 可使用到索引。
C、惟一索引容许空值,而主键索引不容许为空值,除此以外它们是相同的。
D、对于须要写入数据的操做,好比DELETE、UPDATE以及INSERT操做,索引会下降它们的速度。
//primary 不容许空值,unique容许
1四、下列有关数据结构的说法,不正确的是:A
A、直接选择、二分法、冒泡、基数等排序方法都是稳定的排序方法。
B、5000个无序的元素,但愿用最快的速度挑选出其中前50个最大的元素,最好选用堆排序。
C、栈和队列都只容许在端点处插入和删除元素。
D、深度优先遍历是一个递归算法,在遍历的过程当中,先访问的点被压入栈底。
//不稳定:简单选择排序,希尔排序,快速排序,堆排序,冒泡
//稳定:直接插入排序,归并排序,基数排序
1五、如下关于NOSQL的说法,不对的是:B
A、MongoDB支持CAP定理中的AP,MySQL支持CAP中的CA,所有都支持不可能存在。
B、Redis支持字符串、哈希、列表、集合、有序集合等数据结构,目前Redis不支持事务。
C、Memcache既支持TCP协议,也支持UDP协议,咱们能够把PHP的Session存放到Memcache中。
D、MongoDB不用先建立Collection的结构就能够直接插入数据,目前MongoDB不支持事务。
1六、关于设计模式的说法,错误的是:A
A、观察者模式中,观察者能够改变被观察者的状态,再由被观察者通知全部观察者依据被观察者的状态进行。
B、MVC模型的基本工做原理是基于观察者模式,实现是基于命令模式。
C、设计模式的核心原则是:"开-闭"原则:对扩展开放,对修改关闭。
D、创立型模式的根本意图是要把对象的建立和使用分离的责任进行分离,从而下降系统的耦合度。
//不能改变
1七、下列关于常见开源PHP系统的说法,不对的是:B
A、Laravel要求PHP版本>=5.3,它拥有更富有表现力的语法、高质量的文档、丰富的扩展包,被称为“巨匠级PHP开发框架”。
B、Discuz采用单一入口的设计模式,这样的模式在权限控制,URL重写等方面都颇有优点。
C、HDWiki的插件共有三种类型,钩子类型、前台应用和后台应用类型,在后台能够在线安装HDWiki插件。
D、WordPress的博客程序定位,简单的数据库层等都注定了他不能适应大数据。
//discuz是多入口
1八、如下关于“表驱动法”的描述,错误的是:B
A、表驱动法能够做为复杂继承结构的替代方案,难点在于一个通过深思熟虑的查询表。
B、表驱动法是一种编程模式——从数据库表里面查找信息而不使用逻辑语句。
C、凡是能经过逻辑来选择的事物,均可以经过查表来选择。
D、表驱动法查找无规则分布的数据采用阶梯访问的方法最佳。
1九、下列关于全文检索技术的说法,不对的是:B
A、Sphinx是一个基于SQL的全文检索引擎,能够结合MySQL作全文搜索,它能够提供比数据库自己更专业的搜索功能。
B、Solr是新一代的全文检索组件,它比Lucene的搜索效率高不少,还能支持HTTP的访问方式,PHP调用Solr也很方便。
C、MySQL中把一个字段创建FULLTEXT索引,就能够实现全文检索,目前MyISAM和InnoDB的table都支持FULLTEXT索引。
D、Lucene附带的二元分词分析器CJKAnalyzer切词速度很快,能知足通常的全文检索须要。
20、如下关于大型网站的说法,正确的是:B
A、大型网站程序异常后,程序员能够依据服务器日志信息定位错误,而后在服务器上用vim修正错误便可。
B、大型网站开发不少细节和小网站有巨大差别,如“浏览次数”,小网站用数据库记录,大型网站常采用NoSQL来存储。
C、大型网站选择开发语言很重要,PHP只适合开发中小型网站,并不适合开发大型网站。
D、虚拟机技术不能用在大型网站上,是由于虚拟机性能较差,而大型网站的访问压力太大,采用后服务器可能会宕机。
题目来源:http://www.sijiaomao.com/exam.htm#0325