PHP笔试题目及答案

时间:2023-09-04 07:52:00 试题试卷 收藏本文 下载本文

PHP笔试题目及答案(锦集12篇)由网友“在水伊人”投稿提供,下面是小编整理过的PHP笔试题目及答案,欢迎阅读分享,希望对大家有所帮助。

PHP笔试题目及答案

篇1:PHP笔试题目及答案

最新PHP笔试题目及答案

数据库中的事务是什么?

答:事务(transaction)是作为一个单元的一组有序的数据库操作,如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成, 事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。 答:事务就是一系列的操作,这些操作完成一项任务。只要这些操作里有一个操作没有成功,事务就操作失败,发生回滚事件。即撤消前面的操作,这样可以保证数据的一致性。而且可以把操作暂时放在缓存里,等所有操作都成功有提交数据库,这样保证费时的操作都是有效操作。

用PHP写出显示客户端IP与服务器IP的代码

答:打印客户端IP:echo $_SERVER['REMOTE_ADDR']; 或者: getenv('REMOTE_ADDR'); 打印服务器IP:echo gethostbyname('www.meizhi520.com')

error_reporting(2047)什么作用?

答:PHP 显示所有错误 E_ALL

session与cookie的区别?

答:session: 储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放 cookie:用来存储连续L一个面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。 两者都可通过时间来设置时间长短

表单中 get与post提交方法的区别?

答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.

用PHP打印出前一天的时间格式是-11-26 12:11:11

答:echodate('Y-m-d H:i:s', strtotime('-1 days'));

打开php.ini中的Safe_mode,会影响哪些函数?至少说出6个。

答: 1: 用户输入输出函数(fopen file()require(),只能用于调用这些函数有相同脚本的拥有者) 2:创建新文件(限制用户只在该用户拥有目录下创建文件) 3:用户调用 popen() systen()exec()等脚本,只有脚本处在sa fe_mode_exec_dir配置指令指定的 录中才可能 4:加强HTTP认证,认证脚本拥有者的UID的划入认证领域范围内,此外启用安全模式下,不会设置PHP_AUTH 5:mysql服务器所用的用户名必须与调用mysql_connect()的文件的拥有者用户名相同 6:受影响的函数变量以及配置命令达到40个

MySQL数据库,怎么优化?

答: (1) 配置优化(服务器配置) (2)建表优化(表、字段设置) (3)查询优化(sql语句) 答: 1、选取最适用的字段属性,尽可能减少定义字段长度,尽量把字段设置NOT NULL,例如’省份,性别’,最好设置为ENUM 2、使用连接(JOIN)来代替子查询: 3、使用联合(UNION)来代替手动创建的临时表 4、事务处理: 5、锁定表,优化事务处理: 6、使用外键,优化锁定表 7、建立索引: 8、优化查询语句

写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。(目录操作)

$d = dir(dirname(__file__));

echo “Handle: ” . $d->handle . “\n”;

echo “Path: ” . $d->path . “\n”;

while ( false !== ($entry = $d->read ()) ) {

echo $entry . “”;

}

$d->close ();

能够使HTML和PHP分离开使用的模板

答:Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate

使用哪些工具进行版本控制?

答:cvs,svn,vss;

如何实现字符串翻转?

答:echo strrev($a);

MYSQL取得当前时间的函数是?,格式化日期的函数是

答:now(),date()

请写一个函数验证电子邮件的格式是否正确

function checkEmail($email)

{

$pregEmail = “/([a-z0-9]*[-_\.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i”;

return preg_match($pregEmail,$email);

}

检测一个变量是否有设置的函数是?是否为空的'函数是?

答:isset($str),empty($str);

echo(),print(),print_r()的区别

答:echo 是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print() 只能打印出简单类型变量的值(如int,string) print_r() 可以打印出复杂类型变量的值(如数组,对象) echo 输出一个或者多个字符串

在PHP中error_reporting这个函数有什么作用?

答:设置错误级别与错误信息回报

PHP的意思

答:PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页

实现中文字串截取无乱码的方法。

function GBsubstr($string, $start, $length) {

if(strlen($string)>$length){

$str=null;

$len=$start+$length;

for($i=$start;$i<$len;$i++){

if(ord(substr($string,$i,1))>0xa0){

$str.=substr($string,$i,2);

$i++;

}else{

$str.=substr($string,$i,1);

}

}

return $str.'…';

}else{

return $string;

}

}

对于大流量的网站,您采用什么样的方法来解决访问量问题?

答:确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表, 程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量

语句include和require的区别是什么?为避免多次包含同一文件,可用(__)语句代替它们?

答:require->require 是无条件包含也就是如果一个流程里加入require,无论条件成立与否都会先执行require include->include有返回值,而 require没有(可能因为如此require的速度比include快) 注意:包含文件不存在或者语法错误的时候require是致命的,include不是 使用 require_once() 和 include_once()可以避免多次包含同一文件以避免函数重定义,变量重新赋值等问题。 返回值和 include() 相同。如果文件已被包含,本函数返回 TRUE。 注: require_once() 是 php 4.0.1pl2 中新加入的。

如何修改SESSION的生存时间

更多相关笔试试题推荐

最新PHP面试题附答案 Yahoo-PHP面试笔试题分享 PHP程序员笔试题含答案 精选新浪php面试题附答案 腾讯招聘PHP工程师笔试真题 PHP程序员笔试题加答案 Sina php笔试真题 腾讯PHP工程师笔试题 百度php/jsp职位在线笔试题 新浪网技术PHP工程师部笔试题 一套比较完整的PHP的笔试题

答: 方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache 方法2: $savePath = “./session_save_dir/”; $lifeTime = 小时 * 秒; session_save_path($savePath); session_set_cookie_params($lifeTime); session_start(); 方法3: setcookie() and session_set_cookie_params($lifeTime);

有一个网页地址, 比如PHP开发资源网主页: www.meizhi520.com,如何得到它的内容?

答: 方法1(对于PHP5及更高版本): $readcontents = fopen(“www.meizhi520.com”, “rb”); $contents = stream_get_contents($readcontents); fclose($readcontents); echo $contents; 方法2: echo file_get_contents(“www.meizhi520.com”);

在HTTP 1.0中,状态码401的含义是(_);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(__);

答:状态401代表未被授权,header(“Location:xxx.php”);

谈谈asp,php,jsp的优缺点

答: ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序,

ASP采用脚本语言VB Script(Java script)作为自己的开发语言。 PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从 PHP官方站点(www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。 JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。 三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。但JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。

谈谈对mvc的认识

答: 由模型(model),视图(view),控制器(controller)完成的应用程序 由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;

在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?

答:heredoc的语法是用“<<<”加上自己定义成对的标签,在标签范围鹊奈淖质游一个字符串 例子: $str = <<

简述如何得到当前执行脚本路径,包括所得到参数。

答:$script_name = basename(__FILE__); print_r($script_name);

请说明php中传值与传引用的区别。什么时候传值什么时候传引用?

答: 按值传递:函数范围内对值的任何改变在函数外部都会被忽略 按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改 优缺点: 按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。 按引用传递则不需要复制值,对于性能提高很有好处。

JS表单弹出对话框函数是?获得输入焦点函数是?

答:弹出对话框: alert(),prompt(),confirm() 获得输入焦点 focus()

JS的转向函数是?怎么引入一个外部JS文件?

答: window.location.href

mysql_fetch_row() 和mysql_fetch_array之间有什么区别?

答:mysql_fetch_row是从结果集取出1行数组,作为枚举 mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得

GD库是做什么用的?

答:gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。

指出一些在PHP输入一段HTML代码的办法。

答:echo “meizhi520”;

下面哪个函数可以打开一个文件,以对文件进行读和写操作?

(a) fget() (b) file_open() (c) fopen() (d) open_file()

下面哪个选项没有将 john 添加到users 数组中?

(a) $users[] = 'john'; (b) array_add($users,'john'); (c) array_push($users,'john'); (d) $users ||= 'john';

下面的程序会输入是否?

$num = 10;

function multiply(){

$num = $num * 10;

}

multiply();

echo $num;

?>

如何使用下面的类,并解释下面什么意思?

class test{

function Get_test($num){

$num=md5(md5($num).“En”);

return $num;

}

}

答: $testnum = “123″; $object = new test(); $encrypt = $object->Get_test($testnum); echo $encrypt; 类test里面包含Get_test方法,实例化类调用方法多字符串加密

写出以下程序的输出结果

$b=201;

$c=40;

$a=$b>$c?4:5;

echo$a;

取得查询结果集总数的函数是?

答:mysql_num_rows($result);

数组

数组:$arr = array('james', 'tom', 'symfony'); 1.请打印出第一个元素的值 答:echo $array[0]; 2.请将数组的值用','号分隔并合并成字串输出 答:for($i=0;$i

$a = 'meizhi520.com'; 请取出$a的值并打印出第一个字母

答:echo $a{0} 或 echo substr($a,0,1)

PHP可以和sql server/oracle等数据库连接吗?

答:当然可以

请写出PHP5权限控制修饰符

答:public(公共),private(私用),protected(继承)

请写出php5的构造函数和析构函数

答:__construct , __destruct

篇2:腾讯PHP实习生笔试题目及答案解析

腾讯笔试题:const的含义及实现机制分析:

const的含义及实现机制,比如:const int i,是怎么做到i只可读的?

const用来说明所定义的变量是只读的,

这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。

初探编译器static、const之实现原理

腾讯笔试题:买200返100优惠券,实际上折扣是多少?

到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?

分析:

由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。

假设开始时花了x元,那么可以买到 x + x/2 + x/4 + …的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的.上限)

如果使用优惠券买东西不能获得新的优惠券,那么

总过花去了200元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.

腾讯笔试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?

分析:

accept发生在三次握手之后,

第一次握手:客户端发送syn包(syn=j)到服务器。

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。

三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。

腾讯笔试题:用UDP协议通讯时怎样得知目标机是否获得了数据包

用UDP协议通讯时怎样得知目标机是否获得了数据包?

分析:

可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。

发送方在发送数据时将此ID和发送时间记录在本地。

接收方在收到数据后将ID再发给发送方作为回应。

发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到。

腾讯笔试题:统计论坛在线人数分布

求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。

分析:

篇3:腾讯PHP实习生笔试题目

腾讯PHP实习生笔试题目

腾讯笔试题:const的含义及实现机制分析:

const的含义及实现机制,比如:const int i,是怎么做到i只可读的?

const用来说明所定义的变量是只读的,

这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。

初探编译器static、const之实现原理

腾讯笔试题:买200返100优惠券,实际上折扣是多少?

到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?

分析:

由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。

假设开始时花了x元,那么可以买到 x + x/2 + x/4 + …的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的上限)

如果使用优惠券买东西不能获得新的优惠券,那么

总过花去了200元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.

腾讯笔试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?

分析:

accept发生在三次握手之后。

第一次握手:客户端发送syn包(syn=j)到服务器。

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。

三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。

腾讯笔试题:用UDP协议通讯时怎样得知目标机是否获得了数据包

用UDP协议通讯时怎样得知目标机是否获得了数据包?

分析:

可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。

发送方在发送数据时将此ID和发送时间记录在本地。

接收方在收到数据后将ID再发给发送方作为回应。

发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到,

腾讯笔试题:统计论坛在线人数分布

求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。

分析:

一天总共有 3600*24 = 86400秒。

定义一个长度为86400的整数数组int delta[86400],每个整数对应这一秒的人数变化值,可能为正也可能为负。开始时将数组元素都初始化为0。

然后依次读入每个用户的登录时间和退出时间,将与登录时间对应的整数值加1,将与退出时间对应的整数值减1。

这样处理一遍后数组中存储了每秒中的人数变化情况。

定义另外一个长度为86400的整数数组int online_num[86400],每个整数对应这一秒的论坛在线人数。

假设一天开始时论坛在线人数为0,则第1秒的.人数online_num[0] = delta[0]。第n+1秒的人数online_num[n] = online_num[n-1] + delta[n]。

这样我们就获得了一天中任意时间的在线人数。

腾讯笔试题:从10G个数中找到中数

在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。

分析:

不妨假设10G个整数是64bit的。

2G内存可以存放256M个64bit整数。

我们可以将64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边10G整数后,我们便知道中数在那个范围内出现,以及这个范围内总共出现了多少个整数。

如果中数所在范围出现的整数比较少,我们就可以对这个范围内的整数进行排序,找到中数。如果这个范围内出现的整数比较多,我们还可以采用同样的方法将此范围再次分成多个更小的范围(256M=2^28,所以最多需要3次就可以将此范围缩小到1,也就找到了中数)。

腾讯笔试题:两个整数集合A和B,求其交集

两个整数集合A和B,求其交集。

分析:

1. 读取整数集合A中的整数,将读到的整数插入到map中,并将对应的值设为1。

2. 读取整数集合B中的整数,如果该整数在map中并且值为1,则将此数加入到交集当中,并将在map中的对应值改为2。

篇4:php面试题目及答案

1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量(1)中;而链接到当前页面的URL记录在预定义变量(2)中。

答:echo $_SERVER['PHP_SELF']; echo $_SERVER[”HTTP_REFERER“];

2.执行程序段将输出(3)。

答:0

3.在HTTP 1.0中,状态码 401 的含义是(4);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(5)。

答:(4)未授权 (5) header(”HTTP/1.0 404 Not Found“);

4.数组函数 arsort 的作用是(6);语句 error_reporting(2047)的作用是(7)。

答:(6)对数组进行逆向排序并保持索引关系 (7)All errors and warnings

5.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把标记及其内容都去掉):(9)。

答:/<[^>].*?>.*?/si

6.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句(10)动态装载PHP模块,

然后再用语句(11)使得Apache把所有扩展名为php的文件都作为PHP脚本处理。

答:(10) LoadModule php5_module ”D:/xampp/apache/bin/php5apache2.dll“

(11) AddType application/x-httpd-php-source .phps

AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml

7.语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是(12);为了避免多次包含同一文件,可以用语句(13)来代替它们。

答:(12) 发生异常时include产生警告require产生致命错误 (13) require_once/include_once()

8.类的属性可以序列化后保存到 session 中,从而以后可以恢复整个类,这要用到的函数是(14)。

答:serialize() /unserialize()

9.一个函数的参数不能是对变量的引用,除非在php.ini中把(15)设为on.

答:allow_call_time_pass_reference

10.SQL 中LEFT JOIN的含义是(16)。

如果 tbl_user记录了学生的姓名(name)和学号(ID),

tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),

要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句(17)。

答:(16) 自然左外连接

(17) select name , count(score) as sum_score from tbl_user left join tbl_score on tbl_user.ID=tbl_score.ID group by tbl_user.ID

11..在PHP中,heredoc是一种特殊的字符串,它的结束标志必须(18)。

答:结束标识符所在的行不能包含任何其它字符除”;“

12.用PHP打印出前一天的时间格式是-5-10 22:21:21

答:echo date('Y-m-d H:i:s', strtotime('-1 day'));

13.echo(),print(),print_r()的区别

答:echo是语言结构,无返回值;print功能和echo基本相同,不同的是print是函数,有返回值;print_r是递归打印,用于输出数组对象

14.如何实现字符串翻转?

答:.用strrev函数呗,不准用PHP内置的就自己写:

strrev($str)

{

$len=strlen($str);

$newstr = '';

for($i=$len;$i>=0;$i--)

{

$newstr .= $str{$i};

}

return $newstr;

}

15.实现中文字串截取无乱码的方法。

答:mb_substr()

16.使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来

表名User

Name Tel Content Date

张三 13333663366 大专毕业 2006-10-11

张三 13612312331 本科毕业 2006-10-15

张四 021-55665566 中专毕业 2006-10-15

答:SELECT Name,Tel,Content,Date FROM User WHERE Name='张三'

17.如何使用下面的类,并解释下面什么意思?

class test

{

Get_test($num)

{

$num=md5(md5($num).”En“);

return $num;

}

}

答:用法:

$get_test = new test();

$result = $get_test->Get_test(2);

将$num变量进行两次md5后返回,第2次的md5中的参数,在第一次md5($num)后多加了En

18.使用五种以上方式获取一个文件的扩展名

要求:dir/upload.image.jpg,找出 .jpg 或者 jpg ,

答:使用五种以上方式获取一个文件的扩展名

1)

get_ext1($file_name)

{

return strrchr($file_name, '.');

}

2)

get_ext2($file_name)

{

return substr($file_name, strrpos($file_name, '.'));

}

3)

get_ext3($file_name)

{

return array_pop(explode('.', $file_name));

}

4)

get_ext4($file_name)

{

$p = pathinfo($file_name);

return $p['extension'];

}

5)

get_ext5($file_name)

{

return strrev(substr(strrev($file_name), 0, strpos(strrev($file_name), '.')));

}

19.如何修改SESSION的生存时间

这个函式库让你处理和显示各式格式的图档,它的另一个常见用途是制作所图档。GD 以外的另一个选择是 ImageMagick,但这个函式库并不内建于 PHP 之中,必须由系统管理员安装在伺服器上答:其实 Session 还提供了一个函数 session_set_cookie_params(); 来设置 Session 的生存期的,该函数必须在 session_start() 函数调用之前调用:

// 保存一天

$lifeTime = 24 * 3600;

session_set_cookie_params($lifeTime);

session_start();

$_SESSION[”admin“] = true;

?>

20. 请写一个函数,实现以下功能: 字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”。30.请举例说明在你的开发过程中用什么方法来加快页面的加载速度

A.生成静态HTML

B.生成xml

C.可不用数据库的尽量不用数据库把变量参数存于文本.

D.用ZEND加速

答:

Function test($str){

$arr1=explode('_',$str);

//$arr2=array_walk($arr1,ucwords( ));

$str = implode(' ',$arr1);

return ucwords($str);

}

$aa='open_door';

echo test($aa);

?>

21. 如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到?

答:$_SERVSR[‘REQUEST_URI’]

$_SERVER[‘REMOTE_ADDR’]

22.求两个日期的差数,例如-2-5 ~ 2007-3-6 的日期差数

答:(strtotime(‘2007-3-6’)-strtotime(‘2007-2-5’))/3600*24

23.表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。

答:select case when A>B then A else B end,

case when B>C then B else C end

From test

24.请简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?

答:(1)选择最有效率的表名顺序

(2)WHERE子句中的连接顺序

(3)SELECT子句中避免使用‘*’

(4)用Where子句替换HAVING子句

(5)通过内部函数提高SQL效率

(6)避免在索引列上使用计算。

(7)提高GROUP BY 语句的效率, 可以通过将不需要的记录在GROUP BY 之前过滤掉。

25.mysql_fetch_row() 和 mysql_fetch_array() 有什么分别?

mysql_fetch_row() 把数据库的一列储存在一个以零为基数的阵列中,第一栏在阵列的索引 0,第二栏在索引 1,如此类推。mysql_fetch_assoc() 把数据库的一列储存在一个关联阵列中,阵列的索引就是栏位名称,例如我的数据库查询送回“first_name”、“last_name”、“email”三个栏位,阵列的索引便是“first_name”、“last_name”和“email”。mysql_fetch_array() 可以同时送回 mysql_fetch_row() 和 mysql_fetch_assoc() 的值。

26.下面的代码用来做什么?请解释。

$date='08/26/';print ereg_replace(”([0-9]+)/([0-9]+)/([0-9]+)“,”\2/\1/\3“,$date);

这是把一个日期从 MM/DD/YYYY 的格式转为 DD/MM/YYYY 格式。我的一个好朋友告诉我可以把这个正规表达式拆解为以下的语句,对于如此简单的表示是来说其实无须拆解,纯粹为了解说的方便:

// 对应一个或更多 0-9,后面紧随一个斜号$regExpression = ”([0-9]+)/“;// 应一个或更多 0-9,后面紧随另一个斜号$regExpression .= ”([0-9]+)/“;// 再次对应一个或更多 0-9$regExpression .= ”([0-9]+)“;至于 \2/\1/\3 则是用来对应括号,第一个括号对的是月份,

27.GD 函式库用来做什么?

答:这个函式库让你处理和显示各式格式的图档,它的另一个常见用途是制作所图档。GD 以外的另一个选择是 ImageMagick,但这个函式库并不内建于 PHP 之中,必须由系统管理员安装在伺服器上

28.请举例说明在你的开发过程中用什么方法来加快页面的加载速度

答:要用到服务器资源时才打开,及时关闭服务器资源,数据库添加索引,

[php面试题目及答案]

篇5:[PHP技术]腾讯PHP实习生笔试题目及答案解析

腾讯PHP实习生笔试题目及答案解析

腾讯笔试题:const的含义及实现机制分析:

const的含义及实现机制,比如:const int i,是怎么做到i只可读的?

const用来说明所定义的变量是只读的。

这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。

初探编译器static、const之实现原理

腾讯笔试题:买200返100优惠券,实际上折扣是多少?

到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?

分析:

由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。

假设开始时花了x元,那么可以买到 x + x/2 + x/4 + …的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的上限)

如果使用优惠券买东西不能获得新的优惠券,那么

总过花去了200元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.

腾讯笔试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?

分析:

accept发生在三次握手之后。

第一次握手:客户端发送syn包(syn=j)到服务器。

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。

三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。

腾讯笔试题:用UDP协议通讯时怎样得知目标机是否获得了数据包

用UDP协议通讯时怎样得知目标机是否获得了数据包?

分析:

可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。

发送方在发送数据时将此ID和发送时间记录在本地。

接收方在收到数据后将ID再发给发送方作为回应。

发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到。

腾讯笔试题:统计论坛在线人数分布

求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。

分析:

一天总共有 3600*24 = 86400秒。

定义一个长度为86400的整数数组int delta[86400],每个整数对应这一秒的人数变化值,可能为正也可能为负。开始时将数组元素都初始化为0。

然后依次读入每个用户的登录时间和退出时间,将与登录时间对应的整数值加1,将与退出时间对应的整数值减1。

这样处理一遍后数组中存储了每秒中的人数变化情况。

定义另外一个长度为86400的整数数组int online_num[86400],每个整数对应这一秒的论坛在线人数。

假设一天开始时论坛在线人数为0,则第1秒的人数online_num[0] = delta[0]。第n+1秒的人数online_num[n] = online_num[n-1] + delta[n]。

这样我们就获得了一天中任意时间的在线人数。

腾讯笔试题:从10G个数中找到中数

在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。

分析:

不妨假设10G个整数是64bit的。

2G内存可以存放256M个64bit整数。

我们可以将64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边10G整数后,我们便知道中数在那个范围内出现,以及这个范围内总共出现了多少个整数。

如果中数所在范围出现的整数比较少,我们就可以对这个范围内的整数进行排序,找到中数。如果这个范围内出现的整数比较多,我们还可以采用同样的方法将此范围再次分成多个更小的范围(256M=2^28,所以最多需要3次就可以将此范围缩小到1,也就找到了中数)。

腾讯笔试题:两个整数集合A和B,求其交集

两个整数集合A和B,求其交集。

分析:

1. 读取整数集合A中的整数,将读到的整数插入到map中,并将对应的值设为1。

2. 读取整数集合B中的整数,如果该整数在map中并且值为1,则将此数加入到交集当中,并将在map中的对应值改为2。

通过更改map中的值,避免了将同样的值输出两次。

腾讯笔试题:找出1到10w中没有出现的两个数字

分析:

有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数?

申请10w个bit的空间,每个bit代表一个数字是否出现过。

开始时将这10w个bit都初始化为0,表示所有数字都没有出现过。

然后依次读入已经打乱循序的数字,并将对应的bit设为1。

当处理完所有数字后,根据为0的bit得出没有出现的数字。

首先计算1到10w的和,平方和。

然后计算给定数字的和,平方和。

两次的到的数字相减,可以得到这两个数字的和,平方和。

所以我们有

x + y = n

x^2 + y^2 = m

解方程可以得到x和y的值。

腾讯笔试题:需要多少只小白鼠才能在24小时内找到毒药

有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒?

分析:

最容易想到的就是用1000只小白鼠,每只喝一瓶。但显然这不是最好答案。

既然每只小白鼠喝一瓶不是最好答案,那就应该每只小白鼠喝多瓶。那每只应该喝多少瓶呢?

首先让我们换种问法,如果有x只小白鼠,那么24小时内可以从多少瓶水中找出那瓶有毒的?

由于每只小白鼠都只有死或者活这两种结果,所以x只小白鼠最大可以表示2^x种结果。如果让每种结果都对应到某瓶水有毒,那么也就可以从2^x瓶水中找到有毒的那瓶水。那如何来实现这种对应关系呢?

第一只小白鼠喝第1到2^(x-1)瓶,第二只小白鼠喝第1到第2^(x-2)和第2^(x-1)+1到第2^(x-1) + 2^(x-2)瓶….以此类推。

回到此题,总过1000瓶水,所以需要最少10只小白鼠。

腾讯笔试题:根据上排的数填写下排的数,并满足要求。

根据上排给出十个数,在其下排填出对应的十个数, 要求下排每个数都是上排对应位置的数在下排出现的次数。上排的数:0,1,2,3,4,5,6,7,8,9。

腾讯笔试题:判断数字是否出现在40亿个数中?

给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中?

分析:

unsigned int 的取值范围是0到2^32-1。我们可以申请连续的2^32/8=512M的内存,用每一个bit对应一个unsigned int数字。首先将512M内存都初始化为0,然后每处理一个数字就将其对应的bit设置为1。当需要查询时,直接找到对应bit,看其值是0还是1即可。

[[PHP技术]腾讯PHP实习生笔试题目及答案解析]

篇6:腾讯笔试题目及答案

深圳市腾讯计算机系统有限公司简称腾讯,成立于11月,是中国服务用户最多的互联网企业之一。本文将介绍腾讯笔试题目及答案。

腾讯笔试题目及答案:

1、计算表达式x6+4x4+2x3+x+1最少需要做次乘法

A、3 B、4 C、5 D、6

2、给定3个int类型的正整数x,y,z,对如下4组表达式判断正确的选项

int a1=x+y-z; int b1=x*y/z;

int a2=x-z+y; int b2=x/z*y;

int c1=xz; int d1=x&y|z;

int c2=x《z《

A、a1一定等于a2

B、b1一定定于b2

C、c1一定等于c2

D、d1一定等于d2

3、程序的完整编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是

A、死代码删除指的是编译过程直接抛弃掉被注释的代码;

B、函数内联可以避免函数调用中压栈和退栈的开销

C、For循环的循环控制变量通常很适合调度到寄存器访问

D、强度削弱是指执行时间较短的指令等价的替代执行时间较长的指令

4、如下关于进程的描述不正确的是

A、进程在退出时会自动关闭自己打开的所有文件

B、进程在退出时会自动关闭自己打开的网络链接

C、进程在退出时会自动销毁自己创建的所有线程

D、进程在退出时会自动销毁自己打开的共享内存

5、在如下8*6的矩阵中,请计算从A移动到B一共有多少种走法?要求每次只能向上挥着向右移动一格,并且不能经过P;

A、492

B、494

C、496

D、498

6、SQL语言中删除一个表的指令是

A、DROP TABLE

B、DELETE TABLE

C、DESTROY TABLE

D、REMOVE TABLE

7、某产品团队由美术组、产品组、client程序组和server程序组4个小组构成,每次构建一套完整的版本时,需要各个组发布如下资源。美术组想客户端提供图像资源(需要10分钟),产品组向client组合server提供文字内容资源(同时进行,10分钟),server和client源代码放置在不同工作站上,其完整编译时间均为10分钟切编译过程不依赖于任何资源,client程序(不包含任何资源)在编译完毕后还需要完成对程序的统一加密过程(10分钟)。可以请问,从要完成一次版本构建(client与server的版本代码与资源齐备),至少需要多少时间

A、60分钟

B、40分钟

C、30分钟

D、20分钟

8、如下关于编译链接的说法错误的是

A、编译优化会使得编译速度变慢

B、预编译头文件可以优化程序的性能

C、静态链接会使得可执行文件偏大

D、动态链接库会使进程启动速度偏慢

9、如下关于链接的说法错误的是

A、一个静态库中不能包含两个同名全局函数的定义

B、一个动态库中不能包含两个同名全局函数的定义

C、如果两个静态库都包含一个同名全局函数,他们不能同时被链接

D、如果两个动态库都包含一个同名全局函数,他们不能同时被链接

10、排序算法的稳定是指,关键码相同的记录排序前后相对位置不发生改变,下面哪种排序算法是不稳定的

A、插入排序

B、冒泡排序

C、快速排序

D、归并排序

11、下列说法中错误的是:

A、插入排序某些情况下复杂度为O(n)

B、排序二叉树元素查找的复杂度可能为O(n)

C、对于有序列表的排序最快的是快速排序

D、在有序列表中通过二分查找的复杂度一定是O(n log2n)

12、在程序设计中,要对两个16K×16K的多精度浮点数二维数组进行矩阵求和时,行优先读取和列优先读取的区别是

A、没区别

B、行优先快

C、列优先快

D、2种读取方式速度为随机值,无法判断

A、1024

B、1018

C、55

D、50

14、TCP的关闭过程,说法正确的是

A、TIME_WAIT状态称为MSL(Maximum Segment Lifetime)等待状态

B、对一个established状态的TCP连接,在调用shutdown函数之前调用close接口,可以让主动调用的一方进入半关闭状态

C、主动发送FIN消息的连接端,收到对方回应ack之前不能发只能收,在收到对方回复ack之后不能发也不能收,进入CLOSING状态

D、在已经成功建立连接的TCP连接上,如果一端收到RST消息可以让TCP的连洁端绕过半关闭状态并允许丢失数据。

15、操作系统的一些特别端口要为特定的服务做预留,必须要root权限才能打开的端口描述正确的是

A、端口号在64512-65535之间的端口

B、所有小于1024的每个端口

C、RFC标准文档中已经声明特定服务的相关端口,例如http服务的80端口,8080端口等

D、所有端口都可以不受权限限制打开

16、找工作的季节马上就到了,很多同学去图书馆借阅《面试宝典》这本书,现在图书馆外有6名同学排队,其中3名同学要将手中的《面试宝典》还至图书馆,有3名同学希望从图书馆中可以借到《面试宝典》,若当前图书馆内已无库存《面试宝典》,要保证借书的3名同学可以借到书,请问这6位同学有多少种排队方式

A)60

B)120

C)180

D)360

篇7:雅思笔试题目答案

作文题目:

Some people think that the age limit for driving should be increased in order to make driving safer. To what extent do you agree or disagree?

题型类别:

讨论类

题材类别

社会类

类似旧题:

10.11.27

In some countries, small town-centre shops are going out of business because people tend to drive to large out-of-town stores. As a result, people without cars have limited access to out-of town stores, and it may result in an increase in the use of cars. Do you think the disadvantages of this change outweigh its advantages?

14.10.11

In some countries young people at the age of eighteen are considered adults and can drive a car, vote and get married, while other countries don’t allow it. What age do you think is the best to be considered an adult? Give reasons and examples from your own knowledge and experience.

篇8:飞行员笔试题目及答案

1.飞行安全

就是无飞行事故。飞行过程中,无一切危及民航正常航空运营活动、运营秩序以及社会政治经济生活的航空交通事故。

2.事故

在任何人登上航空器准备飞行直至所有这类人员下了航空器为止的时间内,所发生的与该航空器操作使用有关的事件。

3.飞行关键阶段

指所有包括地面滑行、起飞、着陆及低于10000英尺(3000米)时的飞行。在此阶段禁止乘务员做与飞机安全运行以外的任何其他工作,不得进入驾驶舱或与驾驶舱进行联络。

4.可控飞行撞地(CFIT)

指一架适航的飞机,在飞行员控制之下,与地面、障碍物或者水面发生相撞的事故,而飞行员却对将要发生的相撞事先毫无察觉。

5.客舱安全管理

是指在航空器内部:驾驶舱、客舱及货舱内,涉及驾驶人员,乘务人员和乘机旅客的一种特殊的安全管理。包括客舱服务过程的安全和客舱环境自身的安全。

1.民用航空安全工作的指导方针是什么?

保证安全第一、改善服务工作、争取飞行正常。

2.对民用客机结构、性能方面有何基本要求?

.气动性好,升阻比大;强度、刚度足够;重量轻;经济性好。

3.我国民航安全水平与世界民航安全水平相比较有哪些特点?

.民航安全水平与发达国家有较大距离;民航安全状况不稳定;事故高发受社会环境因素影响明显;民航安全管理状态不稳定,管制体系尚未规范化、系统化。

4.为什么民航飞机不备降落伞?

因为如果每个乘客都配备一顶降落伞,就会大大增加飞机的重量,而且会占去很多空间,大大影响飞机的营运能力;再说,乘客们并不是每个人都能掌握跳伞技术;最主要的是,飞机是在高空高速飞行,与一般的跳伞运动和低空离机不同,即使发生意外也无法打开舱门跳伞。如今,民航飞机的性能越来越先进,安全系数极高。因此您大可不必担心客机在飞行中会发生意外。

5.降水对飞行安全的影响主要在几个方面?

首先是使能见度降低,其中影响最大的是细雨和雪;第二是影响跑道的性能,其中以积雪和冻雨特别严重,这种情况出现后使跑道摩擦系数下降或出现障碍,这时必须进行清除,才能安全着陆;第三是对飞机性能的影响,这主要是飞机通过降水云或降水区时,水滴或冰晶在飞机上停留。由于飞机表面温度很低,形成结冰。飞机结冰会使飞机的空气动力性能变坏,使飞机的升力减小,阻力增大,影响飞机的安全定性和操纵性。

另暴雨和大冰雹可损坏机体。

6.应急撤离如何选择逃离方向和撤离时间?

陆地撤离应选择在风上侧躲避,远离飞机至少100米以外,陆地撤离时间为90秒;水上撤离应选择在风下侧,远离燃油区和燃烧区。水上迫降的准备时间为:6分钟。这一时间的计算是从机长广播迫降决定开始至机长广播飞机着水止。

7.为保证飞行安全,客舱乘务员全程需要做到的工作有哪些?

乘务员始终备有“客舱乘务员手册”、迫降时客舱准备简令纸、演示用设备、必要的应急设备。飞行过程中,遵守中国民航法规。飞行前8小时及全程飞行中不得饮用含酒精类饮料。随时注意飞机内部情况。飞机在地面加油时,如出现异常烟雾或浓烈的油味,立即通知机组和地面人员。允许佩戴登机证件的检查官员随意出入飞机。飞机在地面工作和滑行时,确保乘务员均匀分布在客舱各部位和位于可使用的机门附近。

乘务长还要做到确保客舱广播的质量,确保机组人员有足够的饮料,避免缺水

8.应急处置基本原则是什么?

听从机长指挥,迅速正确的判断,准备处置的措施,随机应变,沉着冷静,维持秩序,团结协作。

9.乘务员如何实现客舱安全管理?

①保证航空器安全、正常秩序②保护机上人员生命和财产安全③具备乘机人员的紧急医救知识与能力

[飞行员笔试题目及答案]

篇9:C笔试题目及答案

1. What’s overload function in C++?

“重载”是指编写一个与已有函数同名但参数表不同的函数。构成重载的条件是:在相同的范围内(比如说在同一个类中),函数名字相同,但函数参数不同(要么参数类型不同,要么参数个数不同,要么两者都不同)

2. A. What’s inline function in C++?

内联函数是指嵌入代码,就是在调用函数的地方不是跳转,而是直接把代码写到那里去。它与普通函数相比能提高效率,因为它不需要中断调用,在编译的时候内联函数可以直接把代码镶嵌到目标代码中去,省去了函数调用的开销,但是它是以代码膨胀为代码的(以增加空间消耗为代价)

B. When would you use inline function?

(1)一个函数不断的被重复调用

(2)函数只有简单的几行,且函数内部包含:for,while,switch语句。

C. Please write sample code.

void Foo(int x,int y);

inline void Foo(int x,int y){...}

需要注意的是:关键字inline必须与函数定义体放在一起才能使函数构成内联,仅将inline放在函数声明前不起任何作用。

3. Which of the following are legal? For those usages thatare illegal, explain why.

const int buf;

不合法。因为定义const变量(常量)时必须进行初始化,而buf没有初始化。

int cnt = 0;

const int sz = cnt;

合法。

cnt++; sz++;

不合法。因为修改了const变量sz的值。

4. Please point out the errors in the following C++ code. Andwhy?

switch ( ival )

{

case 1, 3, 5, 7, 9:oddcnt++;

break;

case 2, 4, 6, 8, 10:evencnt++;

break;

}

貌似case 不能把所有的情况并列列出来,没见过 case 1, 3, 5, 7,9:这种写法,改为 case1:oddcnt++; case 3:oddcnt++;

篇10:保育员笔试题目及答案

填空题:

1幼儿园每日户外活动不得少于(2)小时,冬季不得少于(1)小时。

2保教人员应加强对幼儿进行(安全)教育,培养幼儿自我(保护)能力,防止意外事故的发生。

3健康的新概念除(身心健康)以外,还包括(心理健康)和社会适应良好。

4、培养良好的饮食习惯,进餐应(细嚼慢咽),不能说笑、打闹,以防(食物)吸入气道。

5、幼儿园两餐间隔时间不得少于(3个半)小时。

6、儿童进餐时间不应少于(20—30)分钟,保证儿童吃饱每餐饭。

7、教职工仪表要整洁,(饭前)、(便后)和给儿童开饭前用(肥皂水)洗手。

8、幼儿园保育员应具备( 初中 )毕业以上学历,并受过(幼儿保育)职业培训。

9、全日制幼儿园平均每班配保育员(1 )人,寄宿制幼园平均每班配( 2 )人。

10、幼儿园应(科学、合理)的安排和组织幼儿的一日生活。

11、保育员应与家长配合,根据幼儿的需要建立科学的生活常规。培养幼儿良好的(饮食)、(睡眠)、(盥洗)、(排泄)等生活习惯和生活自理能力。

12、幼儿园要教育幼儿爱清洁、讲卫生,注意保持(个人)和生活场所的整洁和卫生。

13、幼儿园应重视幼儿体格锻炼,充分利用(日光)、(空气)、水等自然因素,开展户外活动。

14、传染病发生和流行的三个基本环节是(传染源)、(传播途径)(易感人群)。

15、对疾病的防治应做到(早发现),早预防、(早隔离)、早治疗。

16、三浴锻炼是利用自然界的(日光、空气和水)进行的体格锻炼的简称。

17、用幼儿感兴趣的方式发展基本动作,提高动作的(协调性)、(灵活性)。

18、乳牙最迟(2岁半左右)出齐,乳牙共(20)个,最早萌芽出的恒牙叫(六龄齿)

19、预防佝偻病最简便、最有效的方法是(晒太阳)。

20、进行心脏挤压术,挤压的部位应在(胸骨偏下方)。

21、缺乏维生素A可患(夜盲症)。

22、为了保护牙齿,应少吃(各种甜食)及含糖饮料。

23、幼儿看书绘画时,书本与眼睛距离应保持在(一尺 )左右。

24、按计划为儿童进行预防接种是为了(预防某些传染病)。

25、幼儿园的玩具应定期用(消毒水)消毒,不能用水洗的玩具应放在( 太阳底下晾晒)。

篇11:C笔试题目及答案

1. Given the following base and derived class definitions:

class Base

{

public:

foo ( int );

protected:

int _bar;

double _foo_bar;

};

class Derived: public Base

{

public:

foo ( string );

bool bar ( Base *pb );

void foobar ;

protected:

string _bar;

};

Identify what is wrong with each of thefollowing code fragments and how each might be fixed:

(a) Derived d; d.foo ( 1024 );

错误:定义个派生类的对象d,d.foo( 1024 );派生类中foo的参数是string,不能将int型转换为”string“

(b) void Derived :: foobar { _bar=1024;}

正确:定义派生类的成员函数foobar;把整形1024赋给string ,发生类型转换

(c) bool Derived :: bar { Base *pb }

{ return _foo_bar = = pb->_foo_bar; }

错误:没有参数列表,还有下面不应该为”==“,还有在派生类中无法访问基类的保护成员。

应该改为:boolDerived :: bar (Base *pb)

{ return _foo_bar = pb->_foo_bar; }

2. A. Please list all the design patterns you known.

常见的设计模式有23种,比如说:单例模式、工厂模式,观察者模式、组合模式、策略模式、适配器模式、命令模式等等

B. Please explain the pattern of “Factory” and give anexample if you can.

工厂模式使一个类的实例化延迟到子类,换句话说也就是将创建对象实例的责任,

转移到工厂类中,并利用抽象的原理,将实例化行为延迟到具体工厂类。

3. A. Please list all the sorting algorithms you known.

排序算法:冒泡排序(最简单了,就是2个for循环)、快速排序、选择排序、插入排序、归并排序、希尔排序、堆排序等等

B. Please use pseudo code to describe the algorithm of “QuickSort”.

快速排序采用的是分治策略,分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题,递归解决这些子问题,然后将这些子问题的解组合为原问题的解。

快速排序:快速排序是对冒泡排序的一种改进,时间复杂度均是O(nlogn)空间复杂度是:O(logn)

基本思想:通过一趟排序算法将待排记录分割成2部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录进行排序以达到整个序列有序。

一趟快速排序做法:

附设两个指针low和high,设枢轴记录关键字为pivotkey,则先从高位(high)起向前搜索找到第一个关键字小于pivotkey的记录和枢轴记录进行交换,然后从低位(low)所指位置向后搜索,找到第一个关键字大于pivotkey的记录和枢轴记录进行交换,重复这两步,直至low=high为止。

源代码:

void quicksort(int a, int low, int high)

{

inti,j,key,temp;

if(low< high)

{

key= a[low];

i= low;

j= high;

while(i< j)

{

for(i = i + 1; i < high; i++)

if(a[i] >key)

break;

for(j = j; j >low; j--)

if(a[j] < key)

break;

if(i< j)

{temp = a[i];

a[i]= a[j];

a[j]= temp;

}

}

temp= a[low];

a[low]= a[j];

a[j]= temp;

quicksort(a,low,j-1);

quicksort(a,i,high);

}

}

测试:int_tmain(int argc, _TCHAR* argv)

{

inta={49,38,65,97,76,13,27,49};

intsize = sizeof(a)/sizeof(int);

quicksort(a,0,size-1);

for(int i=0;i

{

cout<

cout<

}

system(”pause");

return0;

}

篇12:C笔试题目及答案

Please answer the following questions:

A. What’s process scheduling and list all schedulingalgorithms you known.

调度算法是指:根据系统的资源分配策略所规定的资源分配算法。

1.先来先服务和短作业(进程)优先调度算法

2.高优先权优先调度算法

3.基于时间片的轮转调度算法

B. What’s the “Race Condition”?

竞态条件(racecondition)是一个在设备或者系统试图同时执行两个操作的时候

出现的不希望的状况,但是由于设备和系统的自然特性,为了正确地执行,操作必

须按照合适顺序进行。 常用在多线程环境中。

C. Please explain the diagram of process state change.

进程有3种基本状态,等待、就绪、运行。

运行态→等待态:往往是由于等待外设,等待主存等资源分配或等待人工干预而引

起的。(服务请求,如请求I/O等)

等待态→就绪态:等待的条件已满足,只需分配到处理器后就能运行。(服务完

成/事件来到)

运行态→就绪态:不是由于自身原因,而是由外界原因使运行状态的进程让出处理

器,这时候就变成就绪态。例如时间片用完,或有更高优先级的进程来抢占处理器

等。 (时间片到等)

就绪态→运行态:系统按某种策略选中就绪队列中的一个进程占用处理器,此时就

变成了运行态(进程调度)

一份比较全的PHP笔试题

面试经验:php程序员深圳面试经历

百度PHP/JSP职位在线笔试真题详解

接触人事招聘,如何面试网络美工和PHP程序员?

程序员项目经历怎么写

腾讯实习生web前端笔试经验

NORTEL笔试题目

Baidu笔试题目

程序设计相关笔试题目

seo面试题与答案

PHP笔试题目及答案
《PHP笔试题目及答案.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【PHP笔试题目及答案(锦集12篇)】相关文章:

社区面试题及答案2022-06-16

面试题及答案2023-04-15

hr面试题及答案2022-10-01

腾讯实习生笔试经验谈2022-08-07

笔试题目:简单说下OSPF的操作过程2023-04-27

php 面试题2022-06-12

唯品会php面试题2022-07-26

腾讯实习生求职笔试面试经历2022-07-26

申请国外大学简历2022-05-06

前端实习生工作总结2022-05-06

点击下载本文文档