php面试题1,
100万条记录的文本文件,取出重复数最多的前10条。
示例文本:
098
123
234
789
……
234
678
654
123
php面试题2,
100亿条记录的文本文件,取出重复数最多的前10条。
刚才是100万的数据,你的计算机可以单批正常处理,现在有100亿的数据,假设由于你的计算机内存、cpu限制,无法单批处理。
本php面试题,包括填空题、简答题、设计题与逻辑题,其中逻辑题在这个php面试题中是最有意思的哦。有需要的朋友,参考下吧。
一、填空题
1.PHP是用什么语言编写的
2.目前PHP的最高版本是
3. LAMP的全称是
4. PHP的三种注释方式
5. PHP使用什么符号定义变量
二、简答题
1. 请列出PHP的8种数据类型。
2.PHP中有几种形式装载代码,并列举,以包含同目录下的Config.php文件为例?
3. PHP中===表示什么意思?
4.PHP对象中可以使用哪几种访问修饰符,默认修饰符是什么?
三、设计题
1.$I=2,编程实现判断$I是否为整型,是则输出$I,不是则输出“非整型变量”?
2.$m = “ MY name IS PHP ” 编程实现将$m中字符串前后的空格以及中间的空格去掉,并全部转换成小写字母,最后输出$m和$m中字母的个数?
3. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: http://www./abc/de/fg.php?id=1 需要取出 php 或 .php
4.$m = “woxihuanphp”,编程实现:将字符串分割为单个字符存放到一个数组中,并打印数组?
5.$username = “4a_c4_5”,编程实现:检查$username是否符合需求,用户名以字母或下划线开头,只能是字母数字下划线组成?
6. 在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?
7.用类编程实现:Stu类中有两个私有属性,name和sex ,有两个公有方法,SetName()和SetSex()参数自定,方法可实现对两个私有属性进行修改。在实例化类的时候要求对私有属性能进行初始化。
8. 写一个函数,算出两个文件的相对路径
如 $a = ‘/a/b/c/d/e.php’;
$b = ‘/a/b/12/34/c.php’;
计算出 $b 相对于 $a 的相对路径应该是 ../../c/d将()添上
四、逻辑题
1.我是一个男人,假如你的儿子是我儿子的父亲,那么我是你的什么?
2.波特河与哈里河加起来长850英里,哈里河比波特河短250英里,那么波特河长多少英里?
ABD和CBA相对,那么QRT和谁相对?
以下内容,如果全部都很熟悉,说明基本具备了php开发的中等水平,一般可以去面试所谓的高级php开发工程师这个职位。
没有包含css,xml等的知识,也没有包含网络技术方面的知识,仅仅是php,javascript。
1:写php有几年了?php名字是什么意思?
2:熟悉javascript吗? ajax(Asynchronous javascript and XML)是什么东西,有什么作用?能简单说一下google地图的原理吗?
3 firefox用吗?通常有开发相关的插件?如何调试javascript?
4:熟悉什么javascript 框架?jquery听说过吗?是干什么的?一个div,class是”aa bb cc”,id是”nodesView”,那么如何得到这个div的jquery对象?而直接获得这个div的dom对象,如何取得?dom对象如何转化为jquery对象?
dom对象如何转化为jquery对象
普通的dom对象一般可以通过$()转换成jquery对象。
如:$(document.getElementById(“msg”))则为jquery对象,可以使用jquery的方法。
由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项,一般可通过索引取出。
如:$(“#msg”)[0],$(“div”).eq(1)[0],$(“div”).get()[1],$(“td”)[5]这些都是dom对象,可以使用dom中的方法,但不能再使用Jquery的方法。
以下几种写法都是正确的: 字串8$(“#msg”).html();
$(“#msg”).eq(0)[0].innerHTML;
$(“#msg”).get(0).innerHTML;
5 关于浏览器交互流程:页面一个表单,action是什么意思?method是什么意思?如果method是get,一个表单的数据会如何传到服务器上?如果服务器上脚本是php,那么php如何获得这个表单的数据?post呢?
6 php连接数据库方法常用的几种?pdo熟悉吗?如果一个查询里面有一些筛选,也就是where后面的一些参数,要如何绑定上去?
7 php单引号和双引号的区别?
有$a = 1那么echo “‘$a’”是什么?
有$b = array(’1′,’2′,’3′)
那么 echo “‘$b[1]‘”?该怎么写能输出第一个元素的内容?
8 如何获得当前脚本的名字(路径)?
9 如何判断数组里面有没有某个元素,比如判断$a = array()里面有没有键method ?
10 面向对象
对象有两个方面:成员变量 和方法。在编译语言(例如 Java)中,如果想调用不存在的方法或引用不存在的成员变量,会得到编译时错误。但是,在非编译语言,例如 PHP 中,会发生什么?
在 PHP 中的方法调用是这样工作的。首先,PHP 解释器在类上查找方法。如果方法存在,PHP 就调用它。如果没有,那么就调用类上的魔法方法 __call(如果这个方法存在的话)。如果 __call 失败,就调用父类方法,依此类推。
魔法方法
魔法方法是有特定名称的方法,PHP 解释器在脚本执行的特定点上会查找魔法方法。最常见的魔法方法就是对象创始时调用的构造函数。__call 方法有两个参数:被请求的方法的名称和方法参数。如果创建的 __call 方法接受这两个参数,执行某项功能,然后返回 TRUE,那么调用这个对象的代码就永远不会知道在有代码的方法和 __call 机制处理的方法之间的区别。通过这种方式,可以创建这样的对象,即动态地模拟拥有无数方法的情况。
除了 __call 方法,其他魔法方法 —— 包括 __get 和 __set —— 调用它们的时候,都是因为引用了不存在的实例变量。脑子里有了这个概念之后,就可以开始编写能够适应任何表的动态数据库访问类了。
11 mvc是什么东西?有什么优缺点?熟悉php框架吗?熟悉php模板吗?smarty!
12 知名的php cms,能说几个吗?
13 说出几个linux发行版?最常用哪个?为什么喜欢用这个发行版?包管理工具是什么?