php 面试题整理

xiaoxiao2021-02-28  88

1.请写出数据类型(int char varchar,datetime,text)的意思?char与varchar的区别

int 整形  char字符型  varchar可变长度字符型  datetime时间日期类型 text文本类型

varchar是可变长度类型,占用的空间是字符串的长度+1,而char是固定长牙字符串类型,定义多少就占多少空间

2.MyISAM和InnoDB的区别?

MyISAM不支持外键和事务处理,采用表锁机制,查询速度稍快,数据存储文件有3个

InnoDB支持外键与事务处理,采用行锁机制,查询速度比MyISAM稍慢,数据存储文件只有1个

3.不使用cookie向客户端发送一个cookie

$value="2222";

header("Set-Cookie:name=$value");

echo $_COOKIE['name'];

4.线性表与顺序表的区别?

线性表包括顺序表和链表

顺序表中元素地址是连续的,链表里面节点的地址不是连续的,是通过指针连起来.

5.如何实现多个线程安全写入一个文件数据?

采用锁机制,当一个用户在对此文件进行读写入操作时,将文件锁定,操作完毕解除锁定,在该用户进行读写操作过程中,其他他用户不能操作文件.需要排队等待.

6.isset()和empty()区别,对不同数据的判断结果,$a=0;$a='0'$a=""; $a="false" $a=null

isset判断变量是否存在,如果存在则近回真,empty判断变量是否为空,如果为空则返回真

isset :true true,true,ture,false

empty:true,true,true,true,true

7.什么是满二叉树?什么是完全二叉树?

满二叉树:除了叶子节点外的所有节点都有两个子节点

完全二叉树:每个节点最多两个子节点,缺右不缺左,而且最多只能缺少一个叶子节点

8.如何在页面间传递变量

GET POST COOKIE SESSION

9.写出匹配URL的正则表达式

/^http:\/\/www\.([\w]+)\.([\w]+)$/

10.请写出常见的排序算法(至少三种),并用PHP实现冒泡排序,将数组$a=array()从小到大的方式排序

冒泡排序法,快速排序法,插入排序法

11.在数据库test中一个表student,字段是name,class,score分别代表姓名,所在班级,分数

1)写出每个班级中的学生,按照成绩降序排列

select * from student order by score desc

2)查出每个班的及格人数和不及格人数,格式为:class ,及格人数,不及格人数

select a.class,a.及格人数,b.不及格人数 from (select class,count(*) as 及格人数 from student where score>=60 group by class) as a,(select class count(*) as '不及格的人数' from student where score<60 group by class) as b whete a.class=b.class

3)用PHP写入连接数据库('localhost','user',''pass),执行以上SQL,显示结果,判断错误 ,关闭数据库过程

$conn = mysql_connect('localhost','user','pass');

mysql_select_db('test');

$sql ="";

$restult=msyql_querty($sql);

mysql_close();

12.ftp://pub.sex.bar.com:2121/av/rls.sfv请给出这个URL各部分的意义?

ftp:// 使用协议是:ftp

pub.sex.bar.com域名

2121端口

av/rls.sfv当前访问的文件

13列出常用HTML标签名

<table></table><div<</div><a></a><form></form>

14.请写出5个常用的Linux操作?

ls -l tar -zxvf touch cat mkdir rm

15.请写出以下5个unix系统配置文件/服务的作用

/etc/passwd /etc/hosts /etc/fstab crontab sshd

/etc/password:用户信息文件,其他中包含用户名,用户是否有密码,用户ID,及用户所属组

/ect/hosts:主机名数据库,包IP地址,主机名或域名 别名等信息,在此文件添加记录可以绕过DNS

/etc/fstab 保存了系统所有分区信息的配置文件

crontab计划任务命令

sshd远程连接管理命令

16.写出5个常用的SQL操作关键字

select ,update delete insert into, create,group by ,order by 

17.请列出5个常用的PHP操作MySQL的函数

mysql_connect mysql_select_db mysql_query mysql_fetch_row mysql_close

18.有两张数据表,表user(id,name)记录了用户的ID和昵称,表article(id,title,content,time),写一个SQL打印出每个用户的昵称及其他发表文章的总数

select user.name,a.id,a.总数 from user,(select id,count(*) as '总数' from article group by id) as a  where a.id=user.id

19.php;'+'操作符的功能

数组数据合并,变量数据相加

20.请列出3种PHP循环操作的语法,并注明每种循环的优缺点

foreach可遍历关联数组和索引数据,操作简单; for只能遍历索引数组 each list while以关联和索引两种方式遍历数组,操作复杂

21.请列出3个以上PHP中预定义的全局变量

$_SESSGION $_COOKIE $_SERVER $_GET $_POST

22.请写一个函数实现字符串翻转

PHP函数strrev()

function str($str)

{

   $len=strlen($a);

   $b="";

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

  {

        $b.=$a[$i];

   }

  return $b;

}

23.不断在文件hello.txt头部写入一行“Hello World”字符串,要求代码完整 <?php     $fp=fopen('hello.txt','r');     $str='hello!'.”\n”;     $str.=fread($fp,filesize('hello.txt'));     fclose($fp);     $fp1=fopen('hello.txt','w');     fwrite($fp1,$str); ?> 24.输出用户的IP地址,并且判断用户的IP地址是否在192.168.1.100 — 192.168.1.150之间 <?php echo $ip=getenv('REMOTE_ADDR'); $ip=Str_replace('.',"",$ip); if($ip<1921681150 && $ip>1921681100) {     echo 'ip在192.168.1.100—–192.168.1.150之间'; } else {     echo 'ip不在192.168.1.100—–192.168.1.150之间'; } 25.请将2维数组按照name的长度进行重新排序,按照顺序将id赋值。 <?php $tarray = array(     array('id' => 0, 'name' => '123'),     array('id' => 0, 'name' => '1234'),     array('id' => 0, 'name' => '1235'),     array('id' => 0, 'name' => '12356'),     array('id' => 0, 'name' => '123abc') ); foreach($tarray as $key=>$val) {     $c[]=$val['name']; } function aa($a,$b) {     if(strlen($a)==strlen($b)) return 0;     return strlen($a)>strlen($b)?-1:1; } usort($c,'aa'); $len=count($c); for($i=0;$i<$len;$i++) {     $t[$i]['id']=$i+1;     $t[$i]['name']=$c[$i]; } echo '<pre>'; print_r($t); echo '</pre>'; 26.表单数据提交方式POST和GET的区别,URL地址传递的数据最大长度是多少? POST方式提交数据用户不可见,是数据更安全,最大长度不受限制,而GET方式传值在URL地址可以看到,相对不安全,对大长度是2048字节。 27.SESSION和COOKIE的作用和区别,SESSION信息的存储方式,如何进行遍历? Session遍历使用$_SESSION[]取值,cookie遍历使用$_COOKIE[]取值。 28.通过PHP函数的方式对目录进行遍历,写出程序 $dir=”./dd”; function open($dirs) {     $dir=opendir($dirs);     while($f=readdir($dir))     {         If($f!='.' && $f!='..')         {             $file=$dirs.'/'.$f;             If(is_file($file))             {                 Echo '文件名:'.$file;             }             Else             {                 Open($file);             }         }     } } Open($dir); 29.Linux的目录进行遍历,编写shell脚本 #!/bin/bash tree 30.什么是数据库索引,主键索引,唯一索引的区别,索引的缺点是什么? 索引用来快速地寻找那些具有特定值的记录。 主键索引和唯一索引的区别:主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”,每个表只能有一个主键。唯一索引索引列的所有值都只能出现一次,即必须唯一。 索引的缺点: 1、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。 2、索引需要占用物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,需要的空间就会更大。 3、当对表中 的数据进行增加、删除、修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 31.数据库设计时,常遇到的性能瓶颈有哪些,常有的解决方案? 瓶颈主要有: 1、磁盘搜索 优化方法是:将数据分布在多个磁盘上 2、磁盘读/写 优化方法是:从多个磁盘并行读写。 3、CPU周期 优化方法:扩充内存 4、内存带宽  31.编写一个在线留言本,实现用户的在线留言功能,留言信息存储到数据库? 假设现在有数据库:test 表名:mess 字段:id,name,message 1.html页面,填写留言: <form action='post.php'> 留言者:<input type='text' name='name'/> 留言内容:<input type='text' name='message'/> <input type='submit' value='提交'/> </form> Post.php页面,处理留言: $conn=mysql_connect('localhost','root','') or die("连接数据库失败"); Mysql_select_db('test'); $sql=”insert into mess('name','message') values('{$_POST['name']}','{$_POST['message']}')”; $result=Mysql_query($sql); If($result && mysql_insert_id($conn)>0) {     Echo '留言成功!'; } 32.通过JS实现页面的前进和后退操作? <a href=”javascript:window.history.go(+1)”>前进</a> <a href=”javascript:window.history.go(-1)”>后退</a> 33.浏览器IE和非IE浏览器的划分,区别是什么? IE浏览器指的是使用IE内核的浏览器,对一些W3C标准的网页代码的支持不是很好。 非IE浏览器指的是没有使用IE内核的浏览器,对W3C标准的网页代码有很好的支持。 34设定网站的用户数量在千万级,但是活跃用户的数量只有1%,如何通过优化数据库提高活跃用户的访问速度? 我们可以根据用户的活跃程度,把活跃的用户提取出来放到另外一张表里面,每次活跃的用户登陆的时候就直接到活跃用户表中进行查询,这样就提高了数据库的查询速度。 35.表单中get与post提交方法的区别? GET方式通过URL地址进行传值,在URL地址可以看到传递的值,最大长度也只支持2048字节,相对不安全。 POST方式通过http协议进行传值,用户无法看到传递的值,最大长度不受限制,相对比较安全。 36.Session 与cookie的区别? SESSION存储在服务器端,用户无法进行修改,相对比较安全,COOKIE存储在客户端,用户通过手段可以进行修改,相对不安全。 Session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器资源。 单个cookie在客户端的限制是3k,就是说一个站点在客户端存放的COOKIE不能超过3k。 37.数据库中的事务是什么? 事务就是一系列的操作,这些操作完成一项任务,只要这些操作中有一个没有操作成功,事务就操作失败,发生回滚事件,即撤销当前操作,这样可以保证数据的一致性。而且可以把操作暂时放在缓存里,等所有操作都都成功在提交到数据库,这样保证了操作的有效性。 38.实现不使用第3个变量,交换$a、$b的值,$a、$b的初始值自己定。 $a=4; $b=5; $a=explode(',',$a.','.$b);  把用逗号把4,5分开。 $b=$a[0]; $a=$a[1]; echo $a,$b; 39.用php打印出前一天的时间格式是2006-5-10 22:21:21

Echo date("Y-m-d H:i:s",strtotime("-1 day"))

转载地址:http://blog.csdn.net/czloveyeer/article/details/8849823

转载请注明原文地址: https://www.6miu.com/read-62734.html

最新回复(0)