当前位置:文档之家› 腾讯PHP程序员面试题

腾讯PHP程序员面试题

腾讯PHP程序员面试题
腾讯PHP程序员面试题

腾讯PHP程序员面试题

说在前面:

1、以下题目,除了编程任务外其他都需要写在给你提供的草纸上。纸张是珍贵的地球资源,请节约使用。编程任务在有相应的环境时,会要求上机书写,实在没有条件,就只能写在草纸上了。2、时间:

基础任务+进阶任务+设计任务=90分钟

编程任务=60分钟

基础任务:

1、请列举你能想到的UNIX信号,并说明信号用途。

2、请列举、你能想到的所有的字符串查找算法,并加注释简单说明。

3、有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。

4、写出、你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面)

基础任务-选作(会得到额外分数):

1、画几个你最熟悉的SERVER端模型出来(格式不重要,尽量将图画清楚,说明思路即可)

进阶任务:

1、PHP的垃圾收集机制是怎样的?

说明:

1)如果,你熟悉PHP源码,那么请从源码入手,回答些问题,会获得额外加分

2)如果,你不熟悉PHP源码,那么尽你所能,多写点东西,包括利用自己的编程直觉得到的信息,都可以。

3)对,则有分,错误不扣,不写无分。

2、请写出HTTP头,并符合以下要求:

1)这是一个post请求

2)目标:https://www.doczj.com/doc/0b17352018.html,:8080/test

3)POST变量:

username: test

pwd: test2

intro: Hello world!

4)包含以下COOKIE信息:

cur_query: you&me

说明:

1)如果,你记不得某个HTTP协议中的指令字了,那么,无奈这举是用“汉字”代替。

2)如果,你能记住更多的HTTP协议指令字,那么多写几句,总是没坏处,对吧?

3)最关键的,只需要画出正确的“轮廓”(还记得httpwatch等工具打印出来的头部吗?那就是“轮廓”的含义),也会有分数,但如果,连“轮廓”都写错了,那么就很遗憾了。

设计任务:

1、最近总有人骚扰我们的投票模块,需要你来设计一个投票限制的东东

要求如下:

1)要求每个QQ号码(假设此QQ号码在UNIT32内可以表示)10分钟这内只能投5票。

2)我们的用户很踊跃,平均每天要有2000万人左右通过此程序投票。

说明:

1)无需写代码,只需要图跟文字即可。

2)对于关键逻辑,请用图加代码表示出来,这也是对你文字表达能力的一个考验。

3)对你能想到的所有的边界条件列出来,这是对你逻辑思维全面与敏捷性的考验。

4)存储部分,尽你所能吧。如果,你需要一个自己设计的存储层,那么把这个存储层的实现,用文字+图片方式描述清楚,要是设计合理,你会获得华丽的奖分。

编程任务:

1、我们碰到了大麻烦,一个新来的传教士惹恼了上帝,上帝很愤怒,要求我们把圣经(bbe.txt)背熟,直至他说哪个单词,我们就要飞快的回答出这个单词在第几行第几个单词位置。听说你是个优秀的程序员,那么髟助我们完成这个不可能的任务吧。

要求如下:

1)/myworks/example/bbe.txt,98版本英文圣经一本

2)输入部分要求如下:php ./example.php [单词]

3)输出部分如下:[单词] 1,2 2,4 5,6表示:此单词在1行2列(第二个单词),2行4列... 说明:

1)此文本4MB之巨...

2)单词的含义:由英文字母(大小写),数字(0-9)组成的串

3)提供给你的机器OS为ubuntu 9.10,内存只有1G,而且,很不幸的,其中700M用来做了别的

4)上机考试不允许上网,但我装了man文档以及读取CHM以及PDF的阅读器,在电脑的桌面的CHM文件夹中,有相应的PHP参考手册

5)算法复杂度要求不能大于O(N^2)(就是N的平方)

6)什么?PHP低效且用起来不顺手,好的,你可以用别的语言来实现。但注意:提供给你的机器上只有python 2.4/perl 5.8/gcc[g++] 4.1

php程序员面试题目

php程序员面试题目 1、以下题目,除了编程任务外其他都需要写在给你提供的草纸上。纸张是珍贵的地球资源,请节约使用。编程任务在有相应的环境时,会要求上机书写,实在没有条件,就只能写在草纸上了。 2、时间: 基础任务+进阶任务+设计任务=90分钟 编程任务=60分钟 基础任务: 1、请列举你能想到的UNIX信号,并说明信号用途。 2、请列举、你能想到的所有的字符串查找算法,并加注释简单说明。 3、有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。 4、写出、你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面) 基础任务-选作(会得到额外分数): 1、画几个你最熟悉的SERVER端模型出来(格式不重要,尽量将图画清楚,说明思路即可) 进阶任务: 1、PHP的垃圾收集机制是怎样的? 说明: 1)如果,你熟悉PHP源码,那么请从源码入手,回答些问题,会获得额外加分 2)如果,你不熟悉PHP源码,那么尽你所能,多写点东西,包括利用自己的编程直觉得到的信息,都可以。 3)对,则有分,错误不扣,不写无分。 2、请写出HTTP头,并符合以下要求: 1)这是一个post请求 2)目标:https://www.doczj.com/doc/0b17352018.html,:8080/test 3)POST变量: username: test

pwd: test2 intro: Hello world! 4)包含以下COOKIE信息: cur_query: you&me 说明: 1)如果,你记不得某个HTTP协议中的指令字了,那么,无奈这举是用“汉字”代替。 2)如果,你能记住更多的HTTP协议指令字,那么多写几句,总是没坏处,对吧? 3)最关键的,只需要画出正确的“轮廓”(还记得httpwatch等工具打印出来的头部吗?那就是“轮廓”的含义),也会有分数,但如果,连“轮廓”都写错了,那么就很遗憾了。 设计任务: 1、最近总有人骚扰我们的投票模块,需要你来设计一个投票限制的东东 要求如下: 1)要求每个QQ号码(假设此QQ号码在UNIT32内可以表示)10分钟这内只能投5票。 2)我们的用户很踊跃,平均每天要有2000万人左右通过此程序投票。 说明: 1)无需写代码,只需要图跟文字即可。 2)对于关键逻辑,请用图加代码表示出来,这也是对你文字表达能力的一个考验。 3)对你能想到的所有的边界条件列出来,这是对你逻辑思维全面与敏捷性的考验。 4)存储部分,尽你所能吧。如果,你需要一个自己设计的存储层,那么把这个存储层的实现,用文字+图片方式描述清楚,要是设计合理,你会获得华丽的奖分。 编程任务: 1、我们碰到了大麻烦,一个新来的传教士惹恼了上帝,上帝很愤怒,要求我们把圣经(bbe.txt)背熟,直至他说哪个单词,我们就要飞快的回答出这个单词在第几行第几个单词位置。听说你是个优秀的程序员,那么髟助我们完成这个不可能的任务吧。 要求如下: 1)/myworks/example/bbe.txt,98版本英文圣经一本 2)输入部分要求如下:php ./example.php [单词] 3)输出部分如下:[单词] 1,2 2,4 5,6表示:此单词在1行2列(第二个单词),2行4列...

腾讯PHP工程师笔试题

1.请对POSIX风格和兼容Perl风格两种正则表达式的主要函数进行类比说明ereg preg_match ereg_replace preg_replace 2.请说明在php.ini中safe_mode开启之后对于PHP系统函数的影响3.PHP5中魔术方法函数有哪几个,请举例说明各自的用法 __sleep __wakeup __toString __set_state __construct, __destruct __call, __get, __set, __isset, __unset __clone __autoload

4.请写出让,并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数?5.PHP的垃圾收集机制是怎样的 6.使对象可以像数组一样进行foreach循环,要求属性必须是私有。 (Iterator模式的PHP5实现,写一类实现Iterator接口) 7.请写一段PHP代码,确保多个进程同时写入同一个文件成功 8.用PHP实现一个双向队列 9.使用正则表达式提取一段标识语言(html或xml)代码段中指定标签的指定属性值(需考虑属性值对不规则的情况,如大小写不敏感,属性名值与等号间有空格等)。此处假设需提取test标签的attr属性值,请自行构建包含该标签的串

10.请使用socket相关函数(非curl)实现如下功能:构造一个post请求,发送到指定http server 的指定端口的指定请求路径(如https://www.doczj.com/doc/0b17352018.html,:8080/test)。请求中包含以下变量: 用户名(username):温柔一刀 密码(pwd):&123=321&321=123& 个人简介(intro):Hello world! 且该http server需要以下cookie来进行简单的用户动作跟踪: cur_query:you&me last_tm:...(上次请求的unix时间戳,定为当前请求时间前10分钟) cur_tm:...(当前请求的unix时间戳) 设置超时为10秒,发出请求后,将http server的响应内容输出。 1.Function encode($data, $sep = ‘&’){ 2.while (list($k,$v) = each($data)) { 3.$encoded .= ($encoded ? "$sep" : ""); 4.$encoded .= rawurlencode($k)."=".rawurlencode($v); 5.} 6.Return $encoded; 7.} 8. 9.Function post($url, $post, $cookie){

php程序员面试题(b卷_附答案)

1.以下哪一句不会把John 新增到users 阵列? $users[] = 'john'; 成功把John 新增到阵列users。 array_add($users,’john’); 函式array_add() 无定义。 array_push($users,‘john’); 成功把John 新增到阵列users。 $users ||= 'john'; 语法错误。 2.sort()、assort()、和ksort() 有什么分别?它们分别在什么情况下使用? sort() 根据阵列中元素的值,以英文字母顺序排序,索引键会由0 到n-1 重新编号。主要是当阵列索引键的值无关疼痒时用来把阵列排序。 assort() PHP 没有assort() 函式,所以可能是asort() 的笔误。 asort() 与sort() 一样把阵列的元素按英文字母顺序来排列,不同的是所有索引键都获得保留,特别适合替联想阵列排序。 ksort() 根据阵列中索引键的值,以英文字母顺序排序,特别适合用于希望把索引键排序的联想阵列。 3.以下的代码会产生什么?为什么? $num =10; function multiply(){ $num =$num *10; } multiply(); echo$num; 由于函式multiply() 没有指定$num 为全域变量(例如global $num 或者$_GLOBALS['num']),所以$num 的值是10。 4. reference 跟一个正规的变量有什么分别?如何pass by reference?在什么情况下我们需要这样做? Reference 传送的是变量的地址而非它的值,所以在函式中改变一个变量的值时,整个应用都见到这个变量的新值。 一个正规变量传送给函式的是它的值,当函式改变这个变量的值时,只有这个函式才见到新值,应用的其他部分仍然见到旧值。 $myVariable = "its' value"; Myfunction(&$myVariable); // 以reference 传送参数以reference 传送参数给函式,可以使函式改变了的变量,即使在函式结束后仍然保留新值。 5.些函式可以用来在现正执行的脚本中插入函式库? 对这道题目不同的理解会有不同的答案,我的第一个想法是插入PHP 函式库不外乎include()、include_once()、require()、require_once(),但细心再想,“函式库”也应该包括com 物件和.net 函式库,所以我们的答案也要分别包括com_load 和dotnet_load,下次有人提起“函式库”的时候,别忘记这两个函式。

2010 腾讯php程序员面试题目

2010 腾讯php程序员面试题目 说在前面: 1、以下题目,除了编程任务外其他都需要写在给你提供的草纸上。纸张是珍贵的地球资源,请节约使用。编程任务在有相应的环境时,会要求上机书写,实在没有条件,就只能写在草纸上了。 2、时间: 基础任务+进阶任务+设计任务=90分钟 编程任务=60分钟 基础任务: 1、请列举你能想到的UNIX信号,并说明信号用途。 2、请列举、你能想到的所有的字符串查找算法,并加注释简单说明。 3、有一个IP地址(192.168.0.1),请写出其32位无符号整数形式。 4、写出、你能想到的所有HTTP返回状态值,并说明用途(比如:返回404表示找不到页面) 基础任务-选作(会得到额外分数): 1、画几个你最熟悉的SERVER端模型出来(格式不重要,尽量将图画清楚,说明思路即可) 进阶任务: 1、PHP的垃圾收集机制是怎样的? 说明: 1)如果,你熟悉PHP源码,那么请从源码入手,回答些问题,会获得额外加分 2)如果,你不熟悉PHP源码,那么尽你所能,多写点东西,包括利用自己的编程直觉得到的信息,都可以。 3)对,则有分,错误不扣,不写无分。 2、请写出HTTP头,并符合以下要求: 1)这是一个post请求 2)目标:https://www.doczj.com/doc/0b17352018.html,:8080/test 3)POST变量: username: test pwd: test2 intro: Hello world! 4)包含以下COOKIE信息: cur_query: you&me 说明: 1)如果,你记不得某个HTTP协议中的指令字了,那么,无奈这举是用“汉字”代替。 2)如果,你能记住更多的HTTP协议指令字,那么多写几句,总是没坏处,对吧? 3)最关键的,只需要画出正确的“轮廓”(还记得httpwatch等工具打印出来的头部吗?那就是“轮廓”的含义),也会有分数,但如果,连“轮廓”都写错了,那么就很遗憾了。

腾讯php面试答案

设计任务: 1、最近总有人骚扰我们的投票模块,需要你来设计一个投票限制的东东 要求如下: 1)要求每个QQ号码(假设此QQ号码在UNIT32 内可以表示)10分钟这内只能投5票。2)我们的用户很踊跃,平均每天要有2000万人左右通过此程序投票。 说明: 1)无需写代码,只需要图跟文字即可。 2)对于关键逻辑,请用图加代码表示出来,这也是对你文字表达能力的一个考验。 3)对你能想到的所有的边界条件列出来,这是对你逻辑思维全面与敏捷性的考验。 4)存储部分,尽你所能吧。如果,你需要一个自己设计的存储层,那么把这个存储层的实现,用文字+图片方式描述清楚,要是设计合理,你会获得华丽的奖分. 解答: 核心问题:如何统计10分钟之内投了5票? 首先:以秒为键切分数据集,10*60=600个时间戳桶,并添加一个Forbid令牌桶 然后:每个数据集内,以qq号码为键,vote次数为值 OK,已经成功转换为key-value方式存储,2000万的日投票,除以86400秒,并发231.48rps,使用memcache能够轻松胜任。 数据集ID:201006072134 【QQ号码:Vote次数】 201006072134 | 201006072135 | 201006072136 【12345:3】| 【12345:3】| 【12345:3】

【88888:2】| 【88888:3】| 【88888:3】 把下一秒钟不能投票的同学生成一个令牌桶Forbid。―――――- Forbid令牌桶 【12345】 【55555】 【66666】 【77777】 【99999】 ―――――- if(in_array($uid,$not_vote)) { $flag = ‘不能投票’; } else { $flag = ‘可以投票’; //insert 新时间戳桶 } 定时任务 1、unset(10分钟前的时间戳桶)

php面试题及答案

php面试题及答案,经典php笔试题与答案 问题 1.考虑如下脚本。标记处应该添加什么代码才能让脚本输出字符串 php? $alpha = 'abcdefghijklmnopqrstuvwxyz'; $letters = array(15, 7, 15); foreach($letters as $val) {/* 这里应该加入什么 */ } ?> A.echo chr($val); B.echo asc($val); C.echo substr($alpha, $val, 2); D.echo $alpha{$val}; E.echo $alpha{$val+1} 2.以下哪一项不能把字符串$s1 和$s2 组成一个字符串? A.$s1 + $s2 B.”{$s1}{$s2}” C.$s1.$s2 D.implode(”, array($s1,$s2)) E.以上都可以 3.变量 $email 的值是字符串 user@https://www.doczj.com/doc/0b17352018.html, ,以下哪项能把字符串转化成 https://www.doczj.com/doc/0b17352018.html,? A.substr($email, strpos($email, “@”));

B.strstr($email, “@”); C.strchr($email, “@”); D.substr($email, strpos($email, “@”)+1); E.strrpos($email, “@”); 4.给定一个用逗号分隔一组值的字符串,以下哪个函数能在仅调用一次的情况下就把每 个独立的值放入一个新创建的数组? A.strstr() B.不可能只调用一次就完成 C.extract() D.explode() E.strtok() 5.要比较两个字符串,以下那种方法最万能? A.用 strpos 函数 B.用==操作符 C.用 strcasecmp() D.用 strcmp() 6.以下哪个 PCRE 正则表达式能匹配字符串 php|architect? A..* B.…|……… C.\d{3}\|\d{8} D.[az]{3}\|[az]{9} E.[a-z][a-z][a-z]\|\w{9} 7.以下哪些函数能用来验证字符串的完整性?(三选)

php面试题_腾讯

【公司面试题之:腾讯PHP工程师笔试题】 1.请对POSIX风格和兼容Perl风格两种正则表达式的主要函数进行类比说明 ereg preg_match ereg_replace preg_replace 2.请说明在php.ini中safe_mode开启之后对于PHP系统函数的影响 3.PHP5中魔术方法函数有哪几个,请举例说明各自的用法 __sleep __wakeup __toString __set_state __construct, __destruct __call, __get, __set, __isset, __unset __sleep, __wakeup, __toString, __set_state, __clone __autoload 4.请写出让,并说明如何在命令行下运行PHP脚本(写出两种方式)同时向PHP脚本传递参数? 5.PHP的垃圾收集机制是怎样的 6.使对象可以像数组一样进行foreach循环,要求属性必须是私有。 (Iterator模式的PHP5实现,写一类实现Iterator接口)

7.请写一段PHP代码,确保多个进程同时写入同一个文件成功 8.用PHP实现一个双向队列 9.使用正则表达式提取一段标识语言(html或xml)代码段中指定标签的指定属性值(需考虑属性值对不规则的情况,如大小写不敏感,属性名值与等号间有空格等)。此处假设需提取test标签的attr属性值,请自行构建包含该标签的串 10.请使用socket相关函数(非curl)实现如下功能:构造一个post请求,发送到指定http server的指定端口的指定请求路径(如https://www.doczj.com/doc/0b17352018.html,:8080/test)。请求中包含以下变量: 用户名(username):温柔一刀 密码(pwd):&123=321&321=123& 个人简介(intro):Hello world! 且该http server需要以下cookie来进行简单的用户动作跟踪: cur_query:you&me last_tm:...(上次请求的unix时间戳,定为当前请求时间前10分钟) cur_tm:...(当前请求的unix时间戳) 设置超时为10秒,发出请求后,将http server的响应内容输出。 复制内容到剪贴板 Function encode($data, $sep = ‘&’){

最全最详细的PHP面试题(带有答案)

1 php面试题及答案(原创)收藏 基础题: 1.表单中get与post提交方法的区别? 答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息. 2.session与cookie的区别? 答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放 cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。 两者都可通过时间来设置时间长短 3.数据库中的事务是什么? 答:事务(transaction)是作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成, 事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。 简述题: 1、用PHP打印出前一天的时间格式是2006-5-10 22:21:21(2分)**************** 答:echo date('Y-m-d H:i:s', strtotime('-1 days')); 2、echo(),print(),print_r()的区别(3分) 答:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print()只能打印出简单类型变量的值(如int,string) print_r()可以打印出复杂类型变量的值(如数组,对象) echo 输出一个或者多个字符串 3、能够使HTML和PHP分离开使用的模板(1分) 答:Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate 5、使用哪些工具进行版本控制?(1分) 答:cvs,svn,vss; 6、如何实现字符串翻转?(3分) 答:echo strrev($a); 7、优化MYSQL数据库的方法。(4分,多写多得) 答: 1、选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如'省份,性别',最好设置为ENUM 2、使用连接(JOIN)来代替子查询: 3、使用联合(UNION)来代替手动创建的临时表 4、事务处理:

腾讯面试题(有答案)

1. 1-20的两个数把和告诉A,积告诉B,A说不知道是多少, B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少? 答案:2和3 2 爸爸,妈妈,妹妹,小强,至少两个人同一生肖的概率是多少? 1-12*11*10*9/12*12*12*12 = 1-55/96 = 41/96 3, 计算a^b << 2 答案: 运算符优先级:括号,下标,->和.(成员)最高; 单目的比双目的高; 算术双目的比其他双目的高; 位运算高于关系运算; 关系运算高于按位运算(与,或,异或);

按位运算高于逻辑运算; 三目的只有一个条件运算,低于逻辑运算; 赋值运算仅比, (顺序运算)高。 在此题中,位左移"<<" 优先级高于按位异或"^",所以b先左移两位(相当于乘以4), 再与a异或。 例如:当 a = 6; b = 4 时;则a^b<<2 = 22 4 如何输出源文件的标题和目前执行行的行数? 答案:printf("The file name: %d\n", __FILE__); printf("The current line No:%d\n", __LINE__); ANSI C标准预定义宏: __LINE__

__FILE__ __DATE__ __TIME__ __STDC__ 当要求程序严格遵循ANSI C标准时该标识符被赋值为1 __cplusplus__ 当编写C++程序时该标识符被定义 5 a[3][4]哪个不能表示a[1][1]: *(&a[0][0]+5) *(*(a+1)+1) *(&a[1]+1) *(&a[0][0]+4) 答案: *(&a[1]+1) a是数组的首地址,a[1]就表示a[1][0]地址了,不用再取地址了。 6 fun((exp1,exp2),(exp3,exp4,exp5))有几个实参? 答案:两个。

PHP架构师面试题目和答案

一、MySQL相关知识 1、请列举mysql优化方式 选取最适用的字段属性、事务、锁定表、使用外键、使用索引、优化的查询语句 使用连接(JOIN)来代替子查询(Sub-Queries) 使用联合(UNION)来代替手动创建的临时表 2、请列举分库分表的常用方法 有一个1000多万条记录的用户表members,查询起来非常之慢 "; echo "INSERT INTO members{$i} SELECT * FROM members WHERE mid%100={$i}
"; } ?> 3、 Mysql+如何做双机热备和负载均衡 1.主服务器授权 2.数据复制 3.配置主服务器 4.重启master 5.配置slave 6.重启slave 7.查看master的状态与设置的是否一致 8.查看slave 4、数据表类型有哪些 MyISAM、InnoDB、HEAP、BOB,ARCHIVE,CSV等 MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。 5、防sql注入的方法? mysql_escape_string(strip_tags($arr["$val"]));

6、mysql把一个大表拆分多个表后,如何解决跨表查询效率问题 [php]view plaincopy 1./** 2.* 函数名称:post_check() 3.* 函数作用:对提交的编辑内容进行处理 4.* 参数:$post: 要提交的内容 5.* 返回值:$post: 返回过滤后的内容 6.*/ 7.function post_check($post){ 8.if(!get_magic_quotes_gpc()){// 判断magic_quotes_gpc是否为打 开 9.$post = addslashes($post);// 进行magic_quotes_gpc没有打开的 情况对提交数据的过滤 10.} 11.$post = str_replace("_","\_", $post);// 把'_'过滤掉 12.$post = str_replace("%","\%", $post);// 把'%'过滤掉 13.$post = nl2br($post);// 回车转换 14.$post = htmlspecialchars($post);// html标记转换 15.return $post; 16.} 7、索引应用 7.1什么情况下考虑索引 7.2什么情况不适合索引 7.3一个语句是否用到索引如何判断

PHP面试问题以及答案

问题1:请用最简单的语言告诉我PHP是什么? 回答:PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言。问题2:什么是MVC? 回答:MVC由Model(模型), View(视图)和Controller(控制器)组成,PHP MVC可以更高效地管理好3个不同层的PHP代码。 Model:数据信息存取层。 View:view层负责将应用的数据以特定的方式展现在界面上。 Controller:通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。 问题3:在页面中引用CSS有几种方式? 回答:在页面中使用CSS有3中方式: 引用外部CSS文件 内部定义Style样式 内联样式 问题4:PHP支持多继承吗? 回答:不可以。PHP类只能继承一个父类,并用关键字“extended”标识。 问题5:请问PHP中echo和print有什么区别? 这两个看起来很相似,因为它们都是将一些值打印在屏幕上。但是echo和print的本质区别在于:echo用来输出字符串,显示多个值的时候可以用逗号隔开。只支持基本类型,print 不仅可以打印字符串值,而且可以打印函数的返回值。 问题6:请问GET和POST方法有什么区别? 回答:我们再网页上填写的表单信息都可以通过这两个方法将数据传递到服务器上,当我们使用GET方法是,所有的信息都会出现在URL地址中,并且使用GET方法最多只能传递1024个字符,所以如果在传输量小或者安全性不那么重要的情况下可以使用GET方法。说到POST 方法,最多可以传输2MB字节的数据,而且可以根据需要调节。 问题7:PHP中获取图像尺寸大小的方法是什么? 回答:getimagesize () 获取图片的尺寸 Imagesx () 获取图片的宽度 Imagesy () 获取图片的高度 问题8:PHP中的PEAR是什么?

腾讯搜搜PHP笔试题

2013年1月PHP工程师笔试题目 姓名:____________ 应聘职位:____________ 第1部分WEB开发基础(60分) 1) 简述 _autoload 函数作用,举例说明 2) 列出COOKIE和Session各相同与区别 3) 如下PHP代码的输出什么? class A { function func() { echo "A"; } } class B extends A { function func() { echo "B"; } } $obj = new B; $obj->func(); 4)require/include的区别 5)请简述在mysql数据库的字段定义中,char类型和varchar类型的区别 6) 假设在mysql数据库中,有一个用户信息表定义如下: CREATE TABLE UserInfo ( USER varchar(255) binary, # 用户名称 PASS varchar(255) binary, # 用户密码 UNIQUE KEY USER (USER) ); 请问如下四条语句,哪些语句可以用到USER字段上的索引: A select * from UserInfo where USER = 'abc'; B select * from UserInfo where USER like '%abc'; C select * from UserInfo where USER like 'ab%c'; D select * from UserInfo where USER like 'abc%'; E select * from UserInfo where USER like '%abc%';

php经典面试题及答案非常实用

最常见的php面试题 目录 面试题一 (1) 面试题二 (3) 面试题三 (4) 面试题四 (6) 面试题五 (7) 面试题六 (8) 面试题七 (9) 本面试题分为七套,这些大部分都是本人被面试过的总结,发出来给大家参考,希望能助你在面试中顺利过关! 面试题一 1、表单提交get和post有何区别? 答:get的方式是把数据在地址栏中发送,get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 2、用PHP打印出前一天的时间格式是2006-5-10 22:21:21 echo date("Y-m-d H:i:s",time()-(3600*24));或echo date("Y-m-d H:i:s",strtotime("-1 day")); 3、php中include和require的区别? 这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处理页面就用require()。include() 就不是这样,脚本会继续运行。 4、echo(),print(),print_r()的区别 echo可以接多个参数,print只能接一个参数,它们都是PHP的语言结构,print_r是递规打印,用来打印数组或对象 5、能够使HTML和PHP分离开使用的模板 smarty,phplib,SmartTemplate 6你如何理解MVC模式? 首先说一下框架,框架:就是别人把一些底层,常用操作.比如数据操作(增,删,改,查)写好.你来直接用.其它的功能要自己来做。 MVC:设计模式,M模型,V显示,C控制.现在许多框架都是基于MVC来做的把逻辑和显示分开.比如你要换页面,只需要改V里面的东西并不需要再去变动程序!(详细的东西可以上网上查一下) 7、如何实现PHP、JSP交互?

php面试题及答案

php面试题 1.CSS中下列哪个属性可以改变行内元素占用的高度() A.height B.line-height C.padding-top,padding-bottom D.margin-top,margin-bottom 2.在新窗口打开链接的方法是________。 A. target = _ blank B. target = _self C. target = _parent D. target = _ top 3.怎样实现div水平垂直居中() A.position:absolute;top:50%;left:50%;transform:translate(-50%,-50%); B. position:absolute;top:50%;margin: 0 auto; C. position:absolute;top:50%;left:50%;margin: -50%,-50%; D. margin: 0 auto; transform:translateY(50%); 4.rgba()和opacity都能实现透明效果,下列说法不准确的是() A. rgba()可以设置颜色,而opacity只能设置透明度 B.opacity会作用于自身及其后代元素 C.rgba()只会作用于自身不作用于其后代元素 D.opacity 的值为1时表示全透明。 5. var a={value:1}; var b = a; b.value = 2; a.value = 3; 以上代码执行后b.value 的值为() A.undefined B. 1 C. 2 D. 3 6. parseFloat(‘12.34.5’)的值为() A.NaN B. 12 C. 12.34 D.34.5 7.var a= "11" + 2 - "1" + 3;;a的值为() A.NaN

php面试问题及答案

php面试问题及答案 php面试问题及答案一 1.简述两种屏蔽php程序的notice警告的方法 初始化变量,文件开始设置错误级别或者修改php.ini 设置error_reporting set_error_handler 和 @抑制错误 01.在程序中添加:error_reporting (E_ALL & ~E_NOTICE); 02.或者修改php.ini中的:error_reporting = E_ALL 改为:error_reporting = E_ALL & ~E_NOTICE 03.error_reporting(0);或者修改php.inidisplay_errors=Off 2.instanceof的作用, 经常在什么设计模式中使用 单例模式,但是其他的模式也会用到 3.1023用二进制表示, 并简述计算过程 10-2 1023%2=1 511%2 =1 255%2 =1 127%2 =1

63%2 =1 31%2 =1 15%2 =1 7%2 =1 3%2 =1 1%2 =1 0 =0 ------------------------------------------- 1023 2^9= 511 k=9 10 9 8 7 6 5 4 3 2 1 1 1 1 1 1 1 1 1 1 1 ---------------------- 1023 1 1023-1/2=511 1 511-1/2=255 1 255-1/2=127 1 127-1/2=63 1 63-1/2=31 1 31-1/2=15 1

15-1/2=7 1 7-1/2=3 1 3-1/2=1 1 ----------------------------------------------- 2-10 只需用将二进制数的各个位上的数从最右边开始,最右边的第一个数乘以二的零次方,第二个数乘以二的一次方,第三个数乘以二的二次方,依次类推可得第n个数乘以二的(n-1)次方,然后把得到的结果相加即可 例如:110011=1*2^0+1*2^1+0*2^2+0*2^3+1*2^4+1*2^5=51 这也可以算是一个公式就是An*2^(n-1) An表示二进制数最右边开始的第n个数, 将第一项第二项第三项一直到第n项用式子An*2^(n-1) 计算出来并加在一起即可 php面试问题及答案二 1.有如下数据库, 用原生态mysql扩展去连接并查询user表的前十行 host: 192.168.0.254 port: 3306 user: one pass: piece database: db_user

PHP面试题附答案

1. Which of the following will not add john to the users array? 1. $users[] = …john?; 2. array_add($users,?john?); 3. array_push($users,?john?); 4. $users ||= …john?; Answer: 2,4 2. What?s the difference between sort(), asort() and ksort(),rsort()? Under w hat circumstances would you use each of these? sort(): 本函数对数组的值进行排序。当本函数结束时数组单元将被从最低到最高重新安排,array 中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。 asort(): 这个函数将数组的值重新排序,由小至大排列。数组的索引亦跟着值的顺序而变动。当您在程序中需要重新整理数组值的顺序时,就可以使用这个函数。 ksort(): 对数组按照键名排序,保留键名到数据的关联。本函数主要用于关联数组。 rsort(): 本函数对数组进行逆向排序(最高到最低)。与sort()执行相反的操作。 3. What would the following code print to the browser? Why? $num = 10; function multiply(){ $num = $num * 10; } multiply(); echo $num; 10 4. What is the difference between a reference and a regular variable? How do you pass by reference & why would you want to? pass by reference like this functions(&$vars); it likes more fast; 5. What functions can you use to add library code to the currently running script? inlcude() or require(); 6. What is the difference between foo() & @foo()? if foo() throw a error, will be alert, but @foo() no; 7. How do you debug a PHP application? xdebug or use die() do it; 8. What does === do? What?s an example of something that will give true for …==?, but not …===?? === 用于精确比较ex: (” == null)=> true but ( ”===null) =>false; 9. How would you declare a class named “myclass” with no methods or properties? class myclass{ } 10. How would you create an object, which is an instance of “myclass”? $myoject = new myclass(); 11. How do you access and set properties of a class from within the class? getVar() or setVar() ; 12. What is the difference between include & include_once? include & require?

php程序员面试题大全附答案

1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的的前一页面URL记录在预定义变量(2)中 "; //链接到当前页面的前一页面的 URL 地址: echo $_SERVER['HTTP_REFERER']."
"; //其它的见参考手册:语言参考》变量》预定义变量 //前执行脚本的绝对路径名:D:Inetpubwwwrootphp est.php echo $_SERVER["SCRIPT_FILENAME"]."
"; //正在浏览当前页面用户的 IP 地址:127.0.0.1 echo $_SERVER["REMOTE_ADDR"]."
"; //查询(query)的字符串(URL 中第一个问号 ? 之后的内容):id=1&bi=2 echo $_SERVER["QUERY_STRING"]."
"; //当前运行脚本所在的文档根目录:d:inetpubwwwroot echo $_SERVER["DOCUMENT_ROOT"]."
"; ?> 2.执行程序段将输出__。 "; //取模 $a % $b 在 $a 为负值时的结果也是负值。输出-2 echo ((-8)%3)."
"; //输出2 echo (8%(-3))."
";

(腾讯)后台开发面试题解答

linux和os: netstat:显示网络状态 tcpdump:主要是截获通过本机网络接口的数据,用以分析。能够截获当前所有通过本机网卡的数据包。它拥有灵活的过滤机制,可以确保得到想要的数据。 ipcs:检查系统上共享内存的分配 ipcrm:手动解除系统上共享内存的分配 (如果这四个命令没听说过或者不能熟练使用,基本上可以回家,通过的概率较小^_^,这四个命令的熟练掌握程度基本上能体现面试者实际开发和调试程序的经验) cpu内存硬盘等等与系统性能调试相关的命令必须熟练掌握,设置修改权限tcp网络状态查看各进程状态抓包相关等相关命令必须熟练掌握 awk sed需掌握 共享内存的使用实现原理(必考必问,然后共享内存段被映射进进程空间之后,存在于进程空间的什么位置?共享内存段最大限制是多少?) 共享内存定义:共享内存是最快的可用IPC(进程间通信)形式。它允许多个不相关的进程去访问同一部分逻辑内存。共享内存是由IPC为一个进程创建的一个特殊的地址范围,它将出现在进程的地址空间中。其他进程可以把同一段共享内存段“连接到”它们自己的地址空间里去。所有进程都可以访问共享内存中的地址。如果一个进程向这段共享内存写了数据,所做的改动会立刻被有访问同一段共享内存的其他进程看到。因此共享内存对于数据的传输是非常高效的。 共享内存的原理:共享内存是最有用的进程间通信方式之一,也是最快的IPC 形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自的进程地址空间。进程A可以即时看到进程B对共享内存中数据的更新,反之亦然。 c++进程内存空间分布(注意各部分的内存地址谁高谁低,注意栈从高到低分配,堆从低到高分配) ELF是什么?其大小与程序中全局变量的是否初始化有什么关系(注意未初始化的数据放在bss段) 可执行文件:包含了代码和数据。具有可执行的程序。 可重定位文件:包含了代码和数据(这些数据是和其他重定位文件和共享的object文件一起连接时使用的)

相关主题
文本预览