《2024年php初级程序员面试题目_php初级程序员面试题.docx》由会员分享,可在线阅读,更多相关《2024年php初级程序员面试题目_php初级程序员面试题.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2024年php初级程序员面试题目_php初级程序员面试题 php初级程序员面试题目_php初级程序员面试题 对于PHP初级程序员来说,在面试中做好面试打算,了解面试题目很有必要,那么你了解面试题目了吗?下面我已经为你们整理了php初级程序员面试题目,希望可以帮到你。 php初级程序员面试题目(一) 1、您是否用过版本限制软件? 假如有您用的版本限制软件的名字是?(1分) 2、您是否用过模板引擎? 假如有您用的模板引擎的名字是?(1分) 答:用过,smarty 3、请简洁阐述您最得意的开发之作(4分) 答:信息分类 4、对于大流量的网站,您采纳什么样的方法来解决访问量问题?(4分) 答:确认服
2、务器硬件是否足够支持当前的流量,数据库读写分别,优化数据表, 程序功能规则,禁止外部的盗链,限制大文件的下载,运用不同主机分流主要流量 5、语句include和require的区分是什么?为避开多次包含同一文件,可用(?)语句代替它们? (2分) 答:require->require是无条件包含也就是假如一个流程里加入require,无论条件成立与否都会先执行require include->include有返回值,而require没有(可能因为如此require的速度比include快) 留意:包含文件不存在或者语法错误的时候require是致命的,include不是 6、foo
3、()和foo()之间有什么区分?(1分) 答:foo()限制错误输出 7、如何声明一个名为myclass的没有方法和属性的类? (1分) 答:class myclass 8、如何实例化一个名为myclass的对象?(1分) 答:new myclass() 9、你如何访问和设置一个类的属性? (2分) 答:$object = new myclass(); $newstr = $object->test; $object->test = info; 10、mysql_fetch_row() 和mysql_fetch_array之间有什么区分? (1分) 答:mysql_fetch_ro
4、w是从结果集取出1行数组,作为枚举 mysql_fetch_array是从结果集取出一行数组作为关联数组,或数字数组,两者兼得 11、GD库是做什么用的? (1分) 答:gd库供应了一系列用来处理图片的API,运用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。 php初级程序员面试题目(二) 1、谈谈对mvc的相识(1分) 答:由模型(model),视图(view),限制器(controller)完成的应用程序 由模型发出要实现的功能到限制器,限制器接收组织功能传递给视图; 2、写动身贴数最多的十个人名字的SQL,利用下表:me
5、mbers(id,username,posts,pass,email)(2分) 答:SELECT * FROM members ORDER BY posts DESC limit 0,10; 3、 请说明php中传值与传引用的区分。什么时候传值什么时候传引用?(2分) 答:按值传递:函数范围内对值的任何变更在函数外部都会被忽视 按引用传递:函数范围内对值的任何变更在函数外部也能反映出这些修改 优缺点:按值传递时,php必需复制值。特殊是对于大型的字符串和对象来说,这将会是一个代价很大的操作。 按引用传递则不须要复制值,对于性能提高很有好处。 4、 在PHP中error_reporting这个函
6、数有什么作用? (1分) 答:设置错误级别与错误信息回报 5、 请写一个函数验证电子邮件的格式是否正确 (2分) 答:function checkEmail($email) $pregEmail = /(a-z0-9*-_.?a-z0-9+)*(a-z0-9*-_ ?a-z0-9+)+.a-z2,3(.a-z2)?/i; return preg_match($pregEmail,$email); 6、 简述如何得到当前执行脚本路径,包括所得到参数。(2分) 答:$script_name = basename(_file_); print_r($script_name); 7、JS表单弹出对话框
7、函数是?获得输入焦点函数是? (2分) 答:弹出对话框: alert(),prompt(),confirm() 获得输入焦点 focus() 8、JS的转向函数是?怎么引入一个外部JS文件?(2分) 答:window.location.href,<script type=text/javascript src=js/js_function.js></script> php初级程序员面试题目(三) 1、运用哪些工具进行版本限制?(1分) 答:cvs,svn,vss; 2、如何实现字符串翻转?(3分) 答:echo strrev($a); 3、优化MYSQL数据库的方法。(
8、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
9、的速度优化: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_qu
10、ery(INSERT INTO customerinfo (name) VALUES ('$name1'); mysql_query(SELECT * FROM orderinfo where customerid=.$id); mysql_query(COMMIT); 5)、锁定表,优化事务处理: a.我们用一个 SELECT 语句取出初始数据,通过一些计算,用 UPDATE 语句将新值更新到表中。 包含有 WRITE 关键字的 LOCK TABLE 语句可以保证在 UNLOCK TABLES 吩咐被执行之前, 不会有其它的访问来对 inventory 进行插入、更新或者删除
11、的操作 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里的cust
12、omerid, 任何一条没有合法的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 (custome
13、rid) 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(.,
14、INDEX索引名(索引字段) (唯一索引)-> 创建:CREATE UNIQUE <索引名> ON tablename (索引字段) 修改:ALTER TABLE tablename ADD UNIQUE 索引名 (索引字段) 创表指定索引:CREATE TABLE tablename(.,UNIQUE索引名(索引字段) (主键)-> 它是唯一索引,一般在创建表是建立,格式为: CREATA TABLE tablename (.,PRIMARY KEY索引字段) 8)、优化查询语句 a.最好在相同字段进行比较操作,在建立好的索引字段上尽量削减函数操作 例子1: SELE
15、CT * FROM order WHERE YEAR(orderDate)<2024;(慢) SELECT * FROM order WHERE orderDate<2024-01-01;(快) 例子2: SELECT * FROM order WHERE addtime/7<24;(慢) SELECT * FROM order WHERE addtime<24*7;(快) 例子3: SELECT * FROM order WHERE title like %good%; SELECT * FROM order WHERE title>=good and name
16、<good; 4、PHP的意思(送1分) 答:PHP是一个基于服务端来创建动态网站的脚本语言,您可以用PHP和HTML生成网站主页 5、MYSQL取得当前时间的函数是?,格式化日期的函数是(2分) 答:now(),date() 6、实现中文字串截取无乱码的方法。(3分) 答:function GBsubstr($string, $start, $length) if(strlen($str ing)>$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; 看了php初级程序员面试题目