php面试题一般(通用7篇)
篇1:php面试题一般
这是一份比较全面的PHP面试题.对准备去新公司应聘PHP职位的开发者应该有帮助.
或者说,对招聘PHP开发人员的企业也有些帮助,不过就不要原样打印出来考了,稍微改一改.
简述题(50分)
1、用PHP打印出前一天的时间格式是-5-10 22:21:21(2分)
2、echo(),print(),print_r()的区别(3分)
3、能够使HTML和PHP分离开使用的模板(1分)
4、使用哪些工具进行版本控制?(1分)
5、如何实现字符串翻转?(3分)
---------------------------------------------------------------
6、优化MYSQL数据库的方法,(4分,多写多得)
7、PHP的意思(送1分)
8、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分)
9、实现中文字串截取无乱码的方法。(3分)
---------------------------------------------------------------
10、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1分)
11、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1分)
12、请简单阐述您最得意的开发之作(4分)
13、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)
-----------------------------------------------------------------
14、用PHP写出显示客户端IP与服务器IP的代码1分)
15、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)
16、如何修改SESSION的生存时间(1分).
17、有一个网页地址, 比如PHP研究室主页: www.phpv.net/,如何得到它的内容?($1分)
18、在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?);(2分)
19、在PHP中,heredoc是一种特殊的字符串,它的结束标志必须?(1分)
20、谈谈asp,php,jsp的优缺点(1分)
21、谈谈对mvc的认识(1分)
-------------------------------------------------------------------
22、写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)(2分)
23. 请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)
24. 在PHP中error_reporting这个函数有什么作用? (1分)
25. 请写一个函数验证电子邮件的格式是否正确 (2分)
26. 简述如何得到当前执行脚本路径,包括所得到参数。(2分)
27.如何修改SESSION的生存时间. (1分)
--------------------------------------------------------------------
28、JS表单弹出对话框函数是?获得输入焦点函数是? (2分)
29、JS的转向函数是?怎么引入一个外部JS文件?(2分)
30、foo()和@foo()之间有什么区别?(1分)
31、如何声明一个名为”myclass”的没有方法和属性的类? (1分)
32、如何实例化一个名为”myclass”的对象?(1分)
33、你如何访问和设置一个类的属性? (2分)
34、mysql_fetch_row() 和mysql_fetch_array之间有什么区别? (1分)
--------------------------------------------------------------------
35、GD库是做什么用的? (1分)
36、指出一些在PHP输入一段HTML代码的办法。(1分)
37、下面哪个函数可以打开一个文件,以对文件进行读和写操作?(1分)
(a) fget() (b) file_open() (c) fopen() (d) open_file()
38、下面哪个选项没有将 john 添加到users 数组中? (1分)
(a) $users[] = ‘john’;
(b) array_add($users,’john’);
(c) array_push($users,‘john’);
(d) $users ||= ‘john’;
39、下面的程序会输入是否?(1分)
$num = 10;
function multiply(){
$num = $num * 10;
}
multiply();
echo $num;
?>
40、使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来 (2分)
表名 UserName Tel Content Date
张三 13333663366 大专毕业 2006-10-11
张三 13612312331 本科毕业 2006-10-15
张四 021-55665566 中专毕业 2006-10-15
请根据上面的题目完成代码:
$mysql_db=mysql_connect(“local”,“root”,“pass”);
@mysql_select_db(“DB”,$mysql_db);
41、如何使用下面的类,并解释下面什么意思?(3)
class test{
function Get_test($num){
$num=md5(md5($num).“En”);
return $num;
}
}
----------------------------------------------------------------------------
42、写出 SQL语句的格式 : 插入 ,更新 ,删除 (4分)
表名 UserName Tel Content Date
张三 13333663366 大专毕业 2006-10-11
张三 13612312331 本科毕业 2006-10-15
张四 021-55665566 中专毕业 2006-10-15
(a) 有一新记录(小王 13254748547 高中毕业 -05-06)请用SQL语句新增至表中
(b) 请用sql语句把张三的时间更新成为当前系统时间
(c) 请写出删除名为张四的全部记录
43、请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别(2分)
44、MySQ自增类型(通常为表ID字段)必需将其设为(?)字段(1分)
45、写出以下程序的输出结果 (1分)
$b=201;
$c=40;
$a=$b>$c?4:5;
echo $a;
?>
46、检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)
-----------------------------------------------------------------------------
47、取得查询结果集总数的函数是?(1分)
48、$arr = array(“james”, “tom”, “symfony”); 请打印出第一个元素的值 (1分)
49、请将41题的数组的值用“,”号分隔并合并成字串输出(1分)
50、$a = “abcdef”; 请取出$a的值并打印出第一个字母(1分)
51、PHP可以和sql server/oracle等数据库连接吗?(1分)
52、请写出PHP5权限控制修饰符(3分)
53、请写出php5的构造函数和析构函数(2分)
------------------------------------------------------------------------------
54、以下请用PHPMYADMIN完成
(一)创建新闻发布系统,表名为message有如下字段 (3分)
id 文章id
title 文章标题
content 文章内容
category_id 文章分类id
hits 点击量
(二)同样上述新闻发布系统:表comment记录用户回复内容,字段如下 (4分)
comment_id 回复id
id 文章id,关联message表中的id
comment_content 回复内容
现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
文章id 文章标题 点击量 回复数量
用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0
(三)上述内容管理系统,表category保存分类信息,字段如下 (3分)
category_id int(4) not null auto_increment;
categroy_name varchar(40) not null;
用户输入文章时,通过选择下拉菜单选定文章分类
写出如何实现这个下拉菜单
填空题
1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量____中;而链接到当前页面的URL记录在预定义变量____中,
2.执行程序段将输出____。
3.在HTTP 1.0中,状态码 401 的含义是____;如果返回“找不到文件”的提示,则可用 header 函数,其语句为____。
4.数组函数 arsort 的作用是____;语句 error_reporting(2047)的作用是____。
5.PEAR中的数据库连接字符串格式是____。
6.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把scrīpt标记及其内容都去掉):____。
7.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。
8.语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是____;为了避免多次包含同一文件,可以用语句____来代替它们。
9.类的属性可以序列化后保存到 session 中,从而以后可以恢复整个类,这要用到的函数是____。
10.一个函数的参数不能是对变量的引用,除非在php.ini中把____设为on.
11.SQL中LEFT JOIN的含义是____。如果 tbl_user记录了学生的姓名(name)和学号(ID),tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句____。
12.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须____。
编程题
1. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
例如: www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
2. 在 HTML 语言中,页面头部的 meta. 标记可以用来输出文件的编码格式,以下是一个标准的 meta. 语句
请使用 PHP 语言写一个函数,把一个标准 HTML 页面中的类似 meta. 标记中的 charset 部分值改为 big5
请注意:
1. 需要处理完整的 html 页面,即不光此 meta. 语句
2. 忽略大小写
3. “ 和 ” 在此处是可以互换的
4. “Content-Type” 两侧的引号是可以忽略的,但 “text/html; charset=gbk” 两侧的不行
5. 注意处理多余空格
3. 写一个函数,算出两个文件的相对路径
如 $a = “/a/b/c/d/e.php”;
$b = “/a/b/12/34/c.php”;
计算出 $b 相对于 $a 的相对路径应该是 ../../c/d将()添上
3.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
4.简述论坛中无限分类的实现原理。
篇2:php面试题一般
基础题:
1.表单中 get与post提交方法的区别?
答:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.
2.session与cookie的区别?
答:session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的(session_dir)的位置进行的存放
cookie:用来存储连续L一个面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的,
两者都可通过时间来设置时间长短
3.数据库中的事务是什么?
答:事务(transaction)是作为一个单元的`一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作 完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。
简述题:
1、用PHP打印出前一天的时间格式是-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)来代替子查询:
a.删除没有任何订单客户:DELETE FROM customerinfo WHERE customerid NOT in(SELECT customerid FROM orderinfo)
b.提取所有没有订单客户:SELECT FROM customerinfo WHERE customerid NOT in(SELECT customerid FROM orderinfo)
c.提高b的速度优化:SELECT FROM customerinfo LEFT JOIN orderid customerinfo.customerid=orderinfo.customerid
WHERE orderinfo.customerid IS NULL
3、使用联合(UNION)来代替手动创建的临时表
a.创建临时表:SELECT name FROM `nametest` UNION SELECT username FROM `nametest2`
4、事务处理:
a.保证数据完整性,例如添加和修改同时,两者成立则都执行,一者失败都失败
mysql_query(“BEGIN”);
mysql_query(“INSERT INTO customerinfo (name) 8i VALUES (‘$name1′)”;
mysql_query(“SELECT * FROM `orderinfo` where customerid=”.$id”);
mysql_query(“COMMIT”);
5、锁定表,优化事务处理:
a.我们用一个 SELECT 语句取出初始数据,通过一些计算,用 UPDATE 语句将新值更新到表中,
包含有 WRITE(write) 关键字的 LOCK TABLE 语句可以保证在 UNLOCK TABLES 命令被执行之前,
不会有其它的访问来对 inventory 进行插入、更新或者删除的操作
mysql_query(“LOCK TABLE customerinfo READ, orderinfo WRITE”);
mysql_query(“SELECT customerid FROM `customerinfo` where id=”.$id);
mysql_query(“UPDATE `orderinfo` SET ordertitle=’$title’ where customerid=”.$id);
mysql_query(“UNLOCK TABLES”);
6、使用外键,优化锁定表
a.把customerinfo里的customerid映射到orderinfo里的customerid,
任何一条没有合法的customerid的记录不会写到orderinfo里
CREATE TABLE customerinfo
(
customerid INT NOT NULL,
PRIMARY KEY(customerid)
)TYPE = INNODB;
CREATE TABLE orderinfo
(
orderid INT NOT NULL,
customerid INT NOT NULL,
PRIMARY KEY(customerid,orderid),
FOREIGN KEY (customerid) REFERENCES customerinfo
(customerid) ON DELETE CASCADE
)TYPE = INNODB;
注意:’ON DELETE CASCADE’,该参数保证当customerinfo表中的一条记录删除的话同时也会删除order
表中的该用户的所有记录,注意使用外键要定义事务安全类型为INNODB;
7、建立索引:
a.格式:
(普通索引)->
创建:CREATE INDEX <索引名>ON tablename (索引字段)
修改:ALTER TABLE tablename ADD INDEX [索引名] (索引字段)
创表指定索引:CREATE TABLE tablename([...],INDEX[索引名](索引字段))
(唯一索引)->
创建:CREATE UNIQUE <索引名>ON tablename (索引字段)
修改:ALTER TABLE tablename ADD UNIQUE [索引名] (索引字段)
创表指定索引:CREATE TABLE tablename([...],UNIQUE[索引名](索引字段))
(主键)->
它是唯一索引,一般在创建表是建立,格式为:
CREATA TABLE tablename ([...],PRIMARY KEY[索引字段])
篇3:小议解答实验设计题的一般思路
一、明确实验目的为答题关键
目的即要验证或要探究的某一生物学问题, 目的往往题中可以找到, 要细心审题, 因为目的往往与结论相关。
例:设计实验探究两种不同pH的酸雨对小麦种子萌发率的影响。
分析:此题首先要明确探究的是不同pH的酸雨, 故得出“控制变量”应为“pH”, 进一步分析可得:
(1) 不同pH的酸雨对种子的萌发影响相同;
(2) 不同pH的酸雨对种子的萌发影响不同;
包括以下方面:
二、科学地设置对照实验
关于对照组可以有一个固定的答题模式:“即除……外, 其他与实验组相同。”对照组的设置归根结底仍取决于实验目的的理解, 变量的控制。
三、全面预测结果, 力求答题要完整
首先, 在对实验目的理解后, 分清是“验证性”, 还是“探究性”, 此为答题关键。“验证性”实验的结果是确定的, 其实就“目的”的另一“说法”。而“探究性”实验, 因为是探究, 故结果与结论可能有多种, 故须学会分析, 力求完整。
例:猪笼草是一种食草虫植物, 它可用瓶关带盖的叶捕捉昆虫, 并以其分泌物消化虫体。为探究该分泌物的性质, 即所含消化酶的种类, 请根据所给材料用卡的提示设计一个实验, 要求先提出假设, 再写出步骤, 预测结果, 得出结论材料用费, 略。
(1) 你提出的假设是_______。
(2) 实验步骤:________。
(3) 预测可能出现的实验结果及相应的结论:______。
解析:实验目的是探究分泌物的性质, 即所含消化酶的种类, 据提示, 可用瘦肉探究是否有蛋白酶, 用肥肉探究是否有脂肪酶, 用马铃薯探究是否有淀粉酶, 实际上包括了三个类似的设计。用猪笼草分泌物与清水作对照, 实验变量呈是分泌物, 反应变量是瘦肉等的大小变化, 以此为切入点, 遵循单一因子变量原则和等量原则设计步骤, 讨论结果。
四、理清思路, 正确书写, 提高答题的准确性
篇4:地理客观题解答的一般方法
解答客观题的一般步骤是审题干,即抓住关键词和中心句、弄清题干中的限定性词语等;审选项,即把错误的选项排除掉;审题干与选项的关系,排除干扰,做到准确无误。
一、审题干
做任何试题都需要认真、细致地审题,做选择题也不例外。高考地理试题绝大部分选择题的题干都以材料、图表的形式出现。在解答客观题之前,必须先认真阅读试题给出的相关材料,然后结合问题判断试题中哪些内容是解题所需的、哪些内容是关键的、哪些内容是干扰信息。
1.抓住关键词和中心句
题中的关键词是试题的“题眼”,是理解题意的关键,也是解题的关键。
例1.下图为北京西山地形剖面示意图。读图,回答问题。
板栗属于喜光、喜暖的落叶阔叶树种,是北京西山地区重要的经济林木。在甲、乙、丙、丁四地中,最适宜大面积栽培板栗的是( )
A.甲 B.乙 C.丙 D.丁
【解析】本题的关键词是“喜光、喜暖”,所以板栗栽培应选在山地的阳坡,北京位于北半球,南坡为阳坡,光照、热量条件优越,故甲地最适宜。
2.弄清题干中的限定性词语
客观题题干中往往存在限定性词语。要选出正确选项,必须了解题目问的是什么,弄清题干中的限定性词语,解题的目的性就会更强,就不容易被其他错误选项所迷惑。
例2.下图中甲地所在的国家,农业以畜牧业为主,财政收入主要来源于货物过境和港口服务业。据此完成(1)~(2)题。
(1)该农业生产紧缺的自然资源是( )
A.土地资源 B.水资源
C.生物资源D.太阳能资源
(2)在甲地形成城市的主导区位因素是( )
A.地形B.气候
C.公路交通枢纽D.港口
【解析】第(1)题,要注意限定词“紧缺”,由图可知,该地为非洲东部地区,最为紧缺的自然资源为水资源。故选B。第(2)题,本题考查城市区位因素。要注意限定词“主导”,图示甲地位于沿海地区,所以城市形成的主导区位因素为港口。故选D。
3.注意题组中各题之间的关系
高考地理客观题多以题组的形式出现,这说明该题组中的各题并非独立的,而是有着某种密切的联系,有时上题正好是解答下一题的重要条件。如果审题时不能注意这一点,不能从全局的角度来审读这一题组,而是将自己局限于某一题中,常常会无法解题。
二、审选项
客观题选项中有些选项存在明显的知识性错误或包含着部分错误,我们要先把这些选项直接排除掉。有些选项表述过于绝对化,绝对化的表述大多数是错误的,但有些绝对化的表述是正确的,因此必须认真分析。另外有些选项与题干存在一定因果关系,解答这类试题时一定要搞清楚因果关系是否正确。
例3.改革开放后,随着我国社会经济的发展,人口迁移日趋频繁。下列对图中人口迁出主要流向的表述与实际最相符的是( )
A.河北流向辽中南地区B.安徽流向京津地区
C.湖南流向长三角地区D.广西流向珠三角地区
【解析】改革开放后,人口迁移主要是由经济原因引起的。河北靠近经济发达的北京、天津,因此河北人口主要流向北京、天津;安徽人口主要流向长三角地区;湖南距离长江三角洲较远,因此人口流向长三角地区的比重不大;广西靠近广东,且珠三角地区经济发达,因此,人口从广西流向珠三角地区。故选D。
三、审题干与选项的关系
保留下来的选项,要坚持“以题干求选项”的解题原则,分析题干与选项之间的关系,选出符合题意的正确答案。即以题干的规定性为准绳,对保留下来的选项,逐一分析,进一步确定哪些是干扰性选项。有时选项的观点虽然正确,但与题干的规定性无关或与题干规定性的要求不符,这样的选项也要排除。
例4.下图所示的大型商城,以汇集国际品牌商品、价格优惠为经营模式。某地理小组学生实地考察了该商城与地理环境的关系。
同学们针对如何新建这类大型商城各抒己见,其中符合生态可持续发展观念的是( )
A.增加商城数量,提供更多就业岗位
B.扩大商城规模,带动周边城镇发展
C.立体建设商城,集约开发利用土地
D.商城靠近景点,吸引游客休闲购物
【解析】提供就业岗位、带动周边城市发展、吸引游客休闲购物等都属于社会可持续发展的观念,但是题干中要求符合生态可持续发展,立体建设商城,集约开发利用土地,能减少对土地资源的使用及减少对环境的破坏,符合生态可持续发展。故选C。
上面的方法,能够使解答高考客观题思路更加清晰,从而更有利于我们选出正确的答案,但解题的步骤和方法还应该因题而异,在实际应用中不能拘泥于解题的步骤,应该灵活应用,才能达到实效。下面展示一组综合应用上面方法的例题。
例5.20世纪50年代,在外国专家的指导下,我国修建了兰新铁路。兰新铁路在新疆吐鲁番附近的线路如下页图所示。读图,完成(1)~(3)题。
(1)推测外国专家在图示区域铁路选线时考虑的主导因素是( )
A.河流 B.聚落 C.耕地 D.地形
(2)后来,我国专家认为,兰新铁路在该区域的选线不合理,理由可能是( )
A.线路过长B.距城镇过远
C.易受洪水威胁D.工程量过大
(3)50多年来,兰新铁路并没有改变该区域城镇的分布,是因为该区域的城镇分布受控于( )
A.地形分布B.绿洲分布
C.河流分布D.沙漠分布
篇5:PHP程序员面试题
PHP工程师面试题
1、请写一个实现中文字串截取无乱码的方法。(超出部分用’…..’替换)。
2、ThinkPHP框架中,下列定义有什么不同?
$userModel = M(“User”);
$userMode l= D(“User”);
3、如果让你模拟登陆微信公众平台并设置微信的开发模式中的URL和Token,你会如何去做?(思路或代码皆可)。
4、谈谈对你对PHP的认识或你擅长的技术。
5、假设有一个博客系统,数据库存储采用mysql,用户数量为1000万,预计文章总数为10亿,每天有至少10万的更新量,每天访问量为5000万,对数据库的读写操作的比例超过10:1,你如何设计该系统,以确保其系统高效,稳定的运行?
提示:可以从数据库设计,系统框架,及网络架构方面进行描述,可以自由发挥。
6、你经常去那些网站?有没有自己的博客或git 开源项目。
篇6:大公司的PHP面试题
答:MVC就是 模型、视图 、控制器 的缩写,视图和用户交互 通过事件导致控制器改变 控制器改变导致模型改变 或者控制器同时改变两者 模型改变导致视图改变 或者视图改变 潜在的从模型里面获得参数 来改变自己。
Mvc就是一种模型 ,一种编程思想。
MVC(Model-View-Controller),即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。
视图(View):代表用户交互界面,MVC设计模式对于视图的处理是限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。
模型(Model):业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC的核心。
控制(Controller):可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求,但是它却不做任何的数据处理。
它的优势在与:开发人员可以只关注整个结构中的其中某一层,可以很容易的用新的实现来替换原有层次的实现,可以降低层与层之间的依赖,有利于标准化,利于各层逻辑的复用
2. as3怎样连接数据库??
答:as3 要和数据库通信 一般通过第三方语言 比如 jsp/ php /asp/ asp.net 等
As3通过解析xml里面的数据和数据库通信。
切换。
3.了解as3与PHP通信么?
答:通过apache软件(软件介绍:最流行的HTTP服务器软件之一。快速、可靠、可通过简单的API扩展,Perl/Python解释器可被编译到服务器中,完全免费,完全源代码开放。如果你需要创建一个每天有数百万人访问的Web服务器)
首先需要两个文件 我随便起一个名字test.php 和 test.fla
把他们放在apache运行目录下面
As代码里面主要用到urlloader、urlrequest、urlvariable等类,用urlrequest.data 属性和Urlrequest.method等属性来和php传参数。
Php里面发送什么,as就可以接收到什么,这样可以实现as3和php的通信。
4. 怎么获取居中的位置??
答:mc.x=stage.StageWidth/2
mc.y=stage.StageHeight/2
5. 多场景如果互相切换(考虑效率);
答:通过nextscene()函数
或者用Loader 加载另外的swf文件来场景
6:谈谈对A*寻路算法的理解
答: 一个估价值函数 f(n)=g(n)+h(n)
g(n)就是当时目标的位置到指定点的位置的一个值
h(n)就是指定点的位置到目标点的位置的的一个值
7: as2与as3.的最主要区别是什么?,以及相互的优缺点
答:as2和as3最大的区别在于 as2是面向过程的 as3是纯面向对象的。As3增加了很多新的东西 比如正则表达式 ,垃圾回收机制,增加了很多error类。
里面的函数架构变了很多 顶级函数缩减了很多 as3的架构更合理
8: 谈谈你对面向对象的理解
答:面向对象关键是对象,引用一句话“一切事物结对象”;对象有它固有的属性和方法,
对象也就是由属性的集合和方法的集合构成的, 谈到对象了,对象是类的一个实例。
类和对象是面向对象的基础 类是对象的一个抽象,不是具体的实例, 比如说狗类
分为很多种,而狗就是一个抽象, 狗有四条腿,两只眼睛 等式他的属性, 狗会吃东西,叫,等式他的方法。这是我理解的面向对象。
9.你的5(或3)年前景规划和在5(或3)年后在flash行业要达到的目标(及个人职业规划)?建议:
1.尽量选择有自主产品的公司,而非单纯的外包公司。(有自己的产品,代表你可以对你自己的产品进行持续维护和改良,对你自身的编程能力是一种持续性的提高)
2.尽量选择待成长型的公司,而并非公司越大越好。(成长型的公司往往产品更有创意,开发成本更小,效率更高,有利于你在短时间内积累更多的作品)
3.尽量远离广告制作公司。
10什么是OOP? OOP有那些特征简要说明?
OOP: Object OrientedProgramming,面向对象的程序设计
特征:抽象,多态,封装,继承
12.请说下你理解AS3的事件机制是什么机制?你认为正确的就可以说出来.
答:从应用程序到最外层的容器在到容器里的组件或容器遍历注册的事件,然后按照原路返回冒泡响应事件
AS3事件流分三个阶段:
1.捕获阶段 (即由根节点流向子节点,检测每个节点是否注册了监听器)
2.目标阶段 (激发在目标对象本身注册的监听程序)
3.冒泡阶段 (从目标节点到根节点,检测每个节点是否注册了监听器)
当中涉及了两个属性target和currentTarget,target是事件的派发者,currentTarget是正在检测的对象,当开始了事件流,事件的currentTarget属性处于不断变化中.
PS:注册事件时捕获阶段默认是关闭的,无论事件是否开启了捕获,事件流只会两选一去执行
13.说说就你所知道的用flash做网站建设的优缺点
优点:全面的控制、无缝的导向跳转、更丰富的媒体内容、更体贴用户的流畅交互、跨平台和瘦客户端的支持、以及与其它Flash应用方案无缝连接集成等
限制:受带宽与下载时间的限,下载速度有时候很慢;受搜索引擎的限制,现在大部分的搜索引擎搜多不到Flash站点信息,但是google搜索引擎已经解决了这个问题。
15.as3.0垃圾回收器是如何工作的?
flash player 8之前采用的是引用计数法,在flash player 8 之后用的是标记法,简单的说就是:从应用的根节点开始,遍历所有其上的引用,标记每个它所发现的对象。然后迭代遍历每个被标记的对象,标记它们的子对象。这个过程第归进行,直到Player遍历了应用的整个对象树并标记了它所发现的每个东西。在这个过程技术的时候,可以安全地认为,内存中那些没有被打标记的对象没有任何活动引用,因此可以被安全地释放内存。一般来说,flash player采用的是一种低频的垃圾回收机制,Flash Player的垃圾回收发生在FlashPlayer需要另外请求内存之前。但并不是每次应用申请内存时都会导致垃圾回收的执行,只有当Flash占用的内存紧张到一定程度时才会执行真正的垃圾回收,一定程度上取决于客户端计算机的物理内存的大小。
16.什么是游戏引擎和对他的认识?
答:是指应用通常游戏设计的模型构建一个“平台“,能够
方便的支持游戏开发后续的工作 引擎就是“用于控制所有游戏功能的主程序,从计算碰撞、物理系统和物体的相对位置,到接受玩家的输入,以及按照正确的音量输出声音等等
17. flash与flex是如何协调开发的?
这个问题可以这样来理解,如果是确实需要用到FLEX SDK的应用,那我们就可以建立一个flex工程,具体需要flash做UI的时候,输出成swc作为flex的skin,如果说并不需要flex sdk,只是为了编码方便而选择flex的话,那我们只要建立一个as工程,让flex作为flash的编码器。
18.使用Flex Bulider3建立一下新的.mxml的页面时默认的背景是蓝色的,请问用什么办法能修改掉此背景颜色,以至于下次创建时背景不是为默认的蓝色的呢?请写出你认为正确的方法.
答:修改sdkframeworksprojectsframeworkdefault.css里Application的backgroundColor: #0000FF;
19.flex的开发框架有哪些,它们有什么优缺点?
答: 最常见的当然是Cairngorm、Puremvc了,此外还有Mate,Swiz等等,据说被广泛应用的已经有10几款了。Cairngorm作为Adobe官方出品,有着贵族血统的它比较全面,是这些框架中已知bug最少的,但是基于他的应用相对臃肿复杂一些,需要对每个可以被触发的事件写一个对应的Command,编码量巨大,并且单元测试很不容易,不适合敏捷开发。Puremvc应该是现在用的最多的as框架了。比较完善、并且与Cairngorm相比,更适合中小型应用的开发,它与Cairngorm一样,也是以MVC模式为中心,并以Fa?0?4ade作为中央存储器的单件类的形式进行开发的。说下Mate,它是一个比较奇怪的框架,是基于标签的事件驱动型的。也就是说你不能再随意的写as类的,在使用Mate的情况下,只能用MXML来做这些事情。Swiz是Mate的孪生兄弟,长的挺像,没具体用过,不大了解。
11.使用Flex Bulider3如何跟踪程序?
答:我知道的三种1.trace() 2.设置断点 3.当不在调试模式时可以调用as的Alert.show()或js的alert() 如:navigateToURL(new URLRequest(“javascript:alert(traceMsg)”),”_self”);
20.在flex开发中,很多代码都写在mxml文件里,为了做到mvc模式,你是怎么处理的。
我认为mxml并不影响mvc模式啊。分两种情况来讨论,首先,是自己创建整个应用结构的时候,那我们可以手动将UI所在的mxml归为一类,然后由Mediator去操作或者说控制这些组件既可了,然后Mediator又统一交给Controller去操作。如果采用其他框架来进行开发的话,那就更不用来考虑这个问题了,像Cairngorm、Puremvc之类的框架已经很好的为我们解决了这些问题。只要按照它们的使用规范来进行开发,自然没有问题。
访问控制代码: class Foo { private $name = hdj; public function getName(){ return $this->name; } } class Bar extends Foo { public $name = deeka; } $bar = new Bar; var_dump($bar->name); var_dump($bar->getName()); |
Mina728 回复7楼-02-09
小算法总结: //打印一个三角形 for($i=0;$i<=3;$i++) { for($j=0;$j<=3-$i;$j++){ echo ‘ ’; } for($k=0;$k<=2*$i;$k++) { echo “*”; } echo ‘ ’; } ?> //杨辉三角 for($i=0;$i<6;$i++) { //第一个和最后一个都为1 $a[$i][0]=1; $a[$i][$i]=1; } for($i=2;$i<6;$i++){ for($j=1;$j<$i;$j++) { $a[$i][$j]=$a[$i-1][$i-1]+$a[$i-1][$j]; } } for($i=0;$i<6;$i++) { for($j=0;$j<=$i;$j++){ echo $a[$i][$j].’ ’; } echo ‘ ’; } ?> //合并多个数组 function t(){ $c=func_num_args()-1;//返回传递给函数的参数个数 $a=func_get_args();//返回一个数组,包括函数的参数列表 for($i=0;$i<=$c;$i++){ if(is_array($a[$i])){ for($j=0;$j $r[]=$a[$i][$j]; } }else{ die(‘Not a array’); } } return $r; } print_r(t(range(1,4),range(1,4),range(1,4))); ?> //求牛 function cow($num,$y) { for($j=1;$j<$y;$j++) { if($j>=4 && $j<15) { $num++; cow($num,$y-$j); } if($j==20) $num–; } return $num; } echo cow(2,2); ?> //顺序查找(数组里查找某个元素) function seq_sch($array,$n,$k)//在某个位置之前查找某元素(不包括指定位置) { $array[$n]=$k; for($i=0;$i<$n;$i++) { if($array[$i]==$k) break; } if($i<$n) return $i; else return -1; } $array=array(‘a’,b’,c’); echo seq_sch($array,2,’b); ?> function show($i) { if($i==1) return 1; else return $i*show($i-1); } echo “ ”; echo show(3); ?> //裴波那挈数列 function b($n) { if($n<2) return $n; else return b($n-1)+show($n-2); } echo b(2); 篇7: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 what 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? require:PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的.一部份, 常用的函式,亦可以这个方法将它引入网页中。错误产生致命错误。 include:这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。错误产生警报。 include_once:此行为和include()语句类似,唯一区别是如果该文件中的代码已经被包含了,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。 13. What function would you use to redirect the browser to a new page? 本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处
【php面试题一般】相关文章: 面试内容一般有哪些08-20 公务员面试一般多少分12-04 公务员面试一般多少分04-14 seo面试一般问什么的07-01 计师面试一般会问什么问题04-18 解决工艺流程题的一般方法与技巧09-12 公务员面试调研类题目的一般解题思路04-24 去公司面试一般会被问到的问题06-23 “不一般”法——如何使一般产品不一般02-05 |