51.请写出数据类型(int char varchar datetime text)的意思;请问 varchar 和 char有什么区别?
答:
1、Int 整形
2、Char字符型
3、Varchar 可变长度字符型
4、Datetime 时间日期内省
5、Text 文本类型
6、Varchar 是可变长度类型,占用的空间是字符串的长度+1,而char是固定长度字符串类型,定义了多少空间就占用多少空间。
52.MyISAM 和 InnoDB 的基本区别?
答:
MYISAM不支持外键和事务处理,采用表锁机制,查询速度稍快,数据存储文件有3个,InnoDB支持外键和事务处理,采用行锁机制,查询速度比MYISAM稍慢,数据存储文件只有一个。
53.不使用COOKIE向客户端发送一个COOKIE.
答:
$value=”111″;
header(“Set-COOKIE:name=$value”);
echo $_COOKIE['name'];
54.线性表和顺序表的区别?
答:
1、线性表包括顺序表和链表。
2、顺序表中的元素的地址是连续的,链表里面节点的地址不是连续的,是通过指针连起来的。
55.如何实现多个线程安全的写入一个文件数据。
答:
采用锁机制,当一个用户在对此文件进行读写入操作时,将此文件锁定,操作完毕后解除锁定,在该用户进行读写入操作过程中,其他用户不能操作此文件,需要排队等待。
56.isset()和empty() 区别,对不同数据的判断结果,$a=0;$a=’0′;$a=”;$a=false;$a=null;
Isset判断变量是否存在,如果存在则返回真,empty判断变量是否为空,如果为空则返回真。
答:
Isset判断:true,true,true,true,false。
Empty判断:true,true,true,true,true。
57.什么是满二叉树?什么事完全二叉树?
答:
满二叉树:除了叶子节点外的所有节点都有两个子节点。
完全二叉树:每个节点最多有两个子节点,缺右不缺左,而且最多只能缺少一个叶子节点。
58.如何在页面之间传递变量(至少两种方式) ?
答:
GET,POST,COOKIE,SESSION
59.写出匹配URL的正则表达式.
答:
/^http:\/\/www\.([\w]+)\.([\w]+)$/
60.请写出常见的排序算法(至少三种),并用PHP实现冒泡排序,将数组$a = array()按照从小到大的方式进行排序。
答:
冒泡排序法,快速排序法,插入排序法(一维数组)。
冒泡:
$a=array(1,9,34,78,2,11,5);
Function maopao($arr){
$count=count($arr);
For($i=0;$i<$count;$i++)
{
For($j=$count-2;$j>=$i;$j–)
{
If($arr[$j]>$arr[$j+1])
{
$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
}
}
}
}
61.在数据库test中的一个表student,字段是name,class,score。分别代表姓名、所在班级,分数。
答:
1) 学出每个班级中的学生,按照成绩降序排序;
2) 查出每个班的及格人数和不及格人数,格式为:class、及格人数、不及格人数;
3) 用PHP写入连接数据库(“localhost”,”msuser”,”mspass”)、执行以上SQL、显示结果、判断错误、关闭数据库的过程;
1、select * from student order by score desc;
2、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 where A.class=B.class;
3、$cOnn=mysql_connect(‘localhost’,'root’,’12345′);
Mysql_select_db(‘test’);
$sql=”";
$result=Mysql_query($sql);
Mysql_close();
62.ftp://pub.foo.bar.com:2121/incoming/rls.sfv 请给出这个URL各部分的意义
答:
1、ftp:// ;使用的协议是:ftp
2、Pub.foo.bar.com 是域名
3、2121 是使用的端口
4、Incoming/rls.sfv 是当前访问的文件。
63.请列出4个常用的HTML标签名
答:
64.下列不属于Javascript语法关键/保留字的是 B
A. var
B. $
C. function
D. while
65.下列不属于Javascrip DOM操作事件的是 C
A. onclick
B. onkeydown
C. onbodyload
D. onmouseover
66.请写出5个常用的unix操作命令。
答:
1、Ls -l
2、tar -zxvf
3、Touch
4、Cat
5、Mkdir
6、rm
67.请写出以下5个UNIX系统配置文件/服务的作用。
答:
/etc/passwd /etc/hosts /etc/fstab crontab sshd
1、/etc/passwd :用户信息文件,其中包含用户名、用户是否有密码、用户ID及用户所属组
2、/etc/hosts:主机名数据库,包IP地址、主机名或域名、别名等信息,在此文件中添加记录可绕过DNS
3、/etc/fstab 保存了系统所有分区信息的配置文件。
4、Crontab 计划任务命令
5、Sshd 远程连接管理命令
68.请写出5个常用的SQL操作关键字。
答:
Select ,update, delete, insert into, create ,group by ,order by
69.请列出5个常用的PHP操作MySQL的函数
答:
1、Mysql_connect()
2、Mysql_select_db()
3、Mysql_query()
4、Mysql_fetch_row()
5、Mysql_close()
70.请写出下面MySQL数据类型表达的意义。
答:
1、int(10) 整数类型,长度10位
2、char(16) 字符类型,长度16位
3、varchar(16) 可变长度字符类型,长度16位
4、Datetime 时间日期类型
5、Text 大字符串类型
71.有两张数据表,表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 user.id=A.id;
72.下列PHP函数中不能直接在页面输出字符串的函数是 B
A. echo
B. sprintf
C. printf
73.在PHP中,‘+’操作符的功能不包括 A
A. 字符串连接
B. 数组数据合并
C. 变量数据相加
74.下面哪个选项没有将john添加到users数组中?C
(A) $users[] = ’john’;
(B) array_push($users, ’john’);
(C) $users ||= ’john’;
(D) array_unshift($users, ’john’);
74.请列出3种PHP数组循环操作的语法,并注明每种循环的优缺点
答:
1、Foreach() 可以遍历关联数组和索引数组,操作简单。
2、For() 只能遍历索引数组。
3、Each list while 以关联和索引两种方式遍历数组,操作复杂。
75.请列出3个PHP中的预定义全局变量
答:
1、$_SESSION
2、$_COOKIE
3、$_SERVER
4、$_GET
5、$_POST
76.从PHP4.2.0开始 PHP默认配置将register_globals配置设定为off,请指出这个设定的作用和对PHP相关程序的影响。
答:
Register_globals=off;的时候,关闭了全局变量注册,访问POST方式提交值时用$_POST[];来访问,访问GET方式提交的值时用$_GET[];方式访问。
77.写一个函数实现字符串翻转
答:
1、Strrev()
2、自己写:
Function str($a){
$len=strlen($a);
$b=”";
For($i=$len-1;$i>=0;$i–)
{
$b.=$a[$i];
}
Return $b;
}
78.请写出下列PHP代码的执行结果
$var1 = 5;
$var2 = 10;
function foo(&$my_var)
{
global $var1;
$var1 += 2;
$var2 = 4;
$my_var += 3;
return $var2;
}
$my_var = 5;
echo foo($my_var) . ”\n”; 4
echo $my_var . ”\n”; 8
echo $var1 . ”\n”; 7
echo $var2 . ”\n”; 10
$bar = ’foo’;
$my_var = 10;
echo $bar($my_var) . ”\n”; 4
79.不断在文件hello.txt头部写入一行“Hello World”字符串,要求代码完整
答:
$fp=fopen(‘hello.txt’,'r’);
$str=’hello!’.”\n”;
$str.=fread($fp,filesize(‘hello.txt’));
fclose($fp);
$fp1=fopen(‘hello.txt’,'w’);
fwrite($fp1,$str);
80.输出用户的IP地址,并且判断用户的IP地址是否在192.168.1.100 — 192.168.1.150之间
答:
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之间‘;
}
81.请将2维数组按照name的长度进行重新排序,按照顺序将id赋值。
答:
$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 ’
’;’;print_r($t);
echo ’
82.表单数据提交方式POST和GET的区别,URL地址传递的数据最大长度是多少?
答:
POST方式提交数据用户不可见,是数据更安全,最大长度不受限制,而GET方式传值在URL地址可以看到,相对不安全,对大长度是2048字节。
83.SESSION和COOKIE的作用和区别,SESSION信息的存储方式,如何进行遍历?
答:
SESSION和COOKIE都能够使值在页面之间进行传递,SESSION存储在服务器端,数据更安全,COOKIE保存在客户端,用户使用手段可以进行修改,SESSION依赖于COOKIE进行传递的。Session遍历使用$_SESSION[]取值,COOKIE遍历使用$_COOKIE[]取值。
84.通过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);
85.Linux的目录进行遍历,编写shell脚本
答:
#!/bin/bash
tree
86.什么是数据库索引,主键索引,唯一索引的区别,索引的缺点是什么?
答:
索引用来快速地寻找那些具有特定值的记录。
主键索引和唯一索引的区别:主键是一种唯一性索引,但它必须指定为“PRIMARY KEY”,每个表只能有一个主键。唯一索引索引列的所有值都只能出现一次,即必须唯一。
索引的缺点:
1、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。
2、索引需要占用物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,需要的空间就会更大。
3、当对表中 的数据进行增加、删除、修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
87.数据库设计时,常遇到的性能瓶颈有哪些,常有的解决方案?
答:
瓶颈主要有:
1、磁盘搜索 优化方法是:将数据分布在多个磁盘上
2、磁盘读/写 优化方法是:从多个磁盘并行读写。
3、CPU周期 优化方法:扩充内存
4、内存带宽
88.编写一个在线留言本,实现用户的在线留言功能,留言信息存储到数据库?
答:
假设现在有数据库:test 表名:mess 字段:id,name,message
1.html页面,填写留言:
留言者:
留言内容:
提交‘/>
Post.php页面,处理留言:
$cOnn=mysql_connect(‘localhost’,'root’,’12345′) 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 ’留言成功!‘;
}
89.通过JS实现页面的前进和后退操作?
答:
90.浏览器IE和非IE浏览器的划分,区别是什么?
答:
IE浏览器指的是使用IE内核的浏览器,对一些W3C标准的网页代码的支持不是很好。
非IE浏览器指的是没有使用IE内核的浏览器,对W3C标准的网页代码有很好的支持。
91.设定网站的用户数量在千万级,但是活跃用户的数量只有1%,如何通过优化数据库提高活跃用户的访问速度?
答:
我们可以根据用户的活跃程度,把活跃的用户提取出来放到另外一张表里面,每次活跃的用户登陆的时候就直接到活跃用户表中进行查询,这样就提高了数据库的查询速度。
92.表单中get与post提交方法的区别?
答:
GET方式通过URL地址进行传值,在URL地址可以看到传递的值,最大长度也只支持2048字节,相对不安全。
POST方式通过http协议进行传值,用户无法看到传递的值,最大长度不受限制,相对比较安全。
93.Session 与COOKIE的区别?
答:
SESSION存储在服务器端,用户无法进行修改,相对比较安全,COOKIE存储在客户端,用户通过手段可以进行修改,相对不安全。
Session会在一定时间内保存在服务器上,当访问增多,会比较占用服务器资源。
单个COOKIE在客户端的限制是3k,就是说一个站点在客户端存放的COOKIE不能超过3k。
94.数据库中的事务是什么?
答:
事务就是一系列的操作,这些操作完成一项任务,只要这些操作中有一个没有操作成功,事务就操作失败,发生回滚事件,即撤销当前操作,这样可以保证数据的一致性。而且可以把操作暂时放在缓存里,等所有操作都都成功在提交到数据库,这样保证了操作的有效性。
95.实现不使用第3个变量,交换$a、$b的值,$a、$b的初始值自己定。
答:
$a=4;
$b=5;
$a=explode(‘,’,$a.’,’.$b); 把用逗号把4,5分开。
$b=$a[0];
$a=$a[1];
echo $a,$b;
96.用php打印出前一天的时间格式是2006-5-10 22:21:21
答:
Echo date(“Y-m-d H:i:s”,strtotime(“-1 day”));
97.如何实现字符串翻转?
答:
Strrev(字符串);
98.PHP的意思,它能干些什么?
答:
Hypertext preprocessor,是一种开源通用的脚本语言,它能嵌入到HTML中,实现web开发。
99.GD库是做什么用的?
答:
GD库是php的一个扩展,用来进行图像处理。
100.数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么别?
答:
Int是整数类型
Char是定长字符串类型
Varchar 是不定长度字符串类型
Datetime 是时间日期类型
Text 是长字符串类型
Varcahar 不定长度,占用多少空间由里面字符串的长度决定。
Char 定义了多少长度就使用多少空间。