1.检测一个变量是否有设置的函数是否?是否为空的函数是?(2分)php
检测⼀个变量是否有设置的函数是isset()linux
检测⼀个变量是是否为空的函数是empty()git
2. echo(),print(),print_r()的区别(3分)redis
echo()是php语句 没有返回值 输出一个或多个字符串算法
print()是函数 有返回值 打印简单类型的变量(int,stringsql
print_r()是函数 有返回值 打印复杂的类型的变量的值(数组,对象数据库
3. 表单中 get与post提交方法的区别?数组
① 传输的数据量不一样tomcat
get小,被url长度限制,效率高,安全性差,post能够传输大量数据,安全
② 传输方式不一样
Get是发送请求http协议经过URL参数传递
Post是实体数据
③ 服务器端获取数据方式不一样
$_GET和$_POST
④ 用途不一样
Get主要用于页面搜索,post用于数据的增删改
4. session与cookie的区别?
① Cookie存放在客户端 Session存储在服务器端
② 安全性cookie差
③ cookie有大小限制
④ session过大服务器压力会增大
5. 用PHP打印出前一天的时间格式是2015-8-10 22:21:21
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s', time()-24*3600);
echo '<br>';
echo date('Y-m-d H:i:s', strtotime('-1 day'));
6. 可以使HTML和PHP分离开使用的模板引擎
Smarty TagTemplate EasyTemplatePHP dttag Mustache
7. 使用哪些工具进行版本控制
Svn git cvs
8. 如何实现字符串翻转
Strrev()函数
$str = "abcdefg";
function strrevv($str)
{
$len=strlen($str);
$newstr = '';
for($i=$len;$i>=0;$i--)
{
$newstr .= $str{$i};
}
return $newstr;
}
$showstr = strrevv($str);
echo $showstr."<br>";
9. 有一个网页地址, 好比PHP开发资源网主页: baidu.com, 如何获得它的内容?
Fopen()
$readcontents = fopen("baidu.com ", "rb");
$contents = stream_get_contents($readcontents);
fclose($readcontents);
echo $contents;
File_get_contents()
10. 在PHP中error_reporting这个函数有什么做用?
设置报错级别
11. JS表单弹出对话框函数是?得到输入焦点函数是?
弹出对话框: alert(),prompt(),confirm() 得到输入焦点 focus()
12. foo()和 @ foo()之间有什么区别
@foo() 控制错误输出
13. GD库是作什么用的?
php处理图形的扩展库 验证码
14. 写一个函数,可以遍历一个文件夹下的全部文件和子文件夹
function my_scandir($dir)
{
$files = array();
if ( $handle = opendir($dir) ) {
while ( ($file = readdir($handle)) !== false ) {
if ( $file != ".." && $file != "." ) {
if ( is_dir($dir . "/" . $file) ) {
$files[$file] = scandir($dir . "/" . $file);
}else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
$files=my_scandir('D:\www\moning');
print_r($files);
15. 写出 SQL语句的格式 : 插入 ,更新 ,删除 (4分)
表名User Name Tel Content Date
张三 13333663366 大专毕业 2006-10-11
张三 13612312331 本科毕业 2006-10-15
张四 021-55665566 中专毕业 2006-10-15
(a) 有一新记录(小王 13254748547 高中毕业 2007-05-06)请用SQL语句新增至表中
(b) 请用sql语句把张三的时间更新成为当前系统时间
(c) 请写出删除名为张四的所有记录
Mysql_query(“insert into `User`(name,tel,content,date) value(‘小王’, 13254748547,’ 高中毕业’,’ 2007-05-06’ )”)
Mysql_query(“update `user` set date =’”.time().”’ Where name = ‘张三’”)
Mysql_query(“delete from `user` where name=’张四’”)
16. myisam与innodb的区别
① Myisam不支持事务 innodb支持
② innodb为行级锁 myisam表级锁
③ innodb不保存表行数
④ myisam适用执行select innodb适用insert update
⑤ 物理结构不一样 myisam存三个文件,。frm 文件存放表格定义。 数据文件是MYD (MYData) 。 索引文件是MYI (MYIndex)引申 InnoDB 把数据和索引存放在表空间里面
⑥ MyISAM中可使AUTO_INCREMENT类型字段创建联合索引 InnoDB中必须包含AUTO_INCREMENT类型字段的索引
17. int 与bigint的区别
int普通大小的整数 默认10位 bigint大整数 默认20位
18. int(10)与int(11)的区别
显示长度不一样
19. varchar与char的区别
Char 存储定长的类型
Varchar存储可变长的类型
20. 数据库设计,用户表与登陆表分开的好处
性能和安全
21. 分布式怎样解决session共享问题
使用redis集中管理session
session复制
tomcat的session复制,能够实现session共享 只需搭建tomcat集群便可
session绑定
当用户A第一次访问系统时,tomcat1对其进行服务,那么,下次访问时仍然让tomcat1对其进行服务
22. php __autoload机制
自动加载机制
23. 三次握手与四次挥手的过程(主要是画图),各个参数的含义
三次握手
第一次握手:主机A发送位码为syn=1,随机产生seq number=10001的数据包到服务器,主机B由SYN=1知道,A要求创建联机,此时状态为SYN_SENT;
第二次握手:主机B收到请求后要确认联机信息,向A发送ack number=(主机A的seq+1),syn=1,ack=1,随机产生seq=20001的包,此时状态由LISTEN变为SYN_RECV;
第三次握手:主机A收到后检查ack number是否正确,即第一次发送的seq number+1,以及位码ack是否为1,若正确,主机A会再发送ack number=(主机B的seq+1),ack=1,主机B收到后确认seq值与ack=1则链接创建成功,双方状态ESTABLISHED。
四次挥手:
客户端向服务器发送FIN,请求关闭,进入FIN_WAIT_1状态。
服务端接受到FIN报文,而后须要告诉客户端,我已经知道请求,但尚未准备好,你能够继续等我消息,因此服务端发送ACK。而后能够进入CLOSE_WAIT状态
客户端接收到服务端数据,不作任何回应,进入FIN_WAIT_2状态。
服务端确认数据发送完成以后,发送FIN报文,告诉客户端能够关闭链接了,而后进入LAST_ACK状态。
客户端接收到FIN报文以后,进入TIME_WAIT状态,发送ACK确认报文,若是2msl时间没有反应则关闭链接。不然进行重传。
服务端在接收到ACK以后,关闭链接。
24. http与https的区别,https怎样保准安全(结合ssl)
一、https协议须要到ca申请证书,通常免费证书较少,于是须要必定费用。
二、http是超文本传输协议,信息是明文传输,https则是具备安全性的ssl加密传输协议。
三、http和https使用的是彻底不一样的链接方式,用的端口也不同,前者是80,后者是443。
四、http的链接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
25. 写出一个排序算法
冒泡法:
function bubbleSort($str){
$_count=count($str);
for($i=0;$i<$_count;$i++){
for($j=$i+1;$j<$_count;$j++){
if($str[$j]>$str[$i]){
$tem=$str[$j];
$str[$j]=$str[$i];
$str[$i]=$tem;
}
}
}
return $str;
}
$str=array(8,5,4,3,32,2.4,54,59,6,7,);
print_r($str);
print_r(bubbleSort($str));
快速排序法:
function qkSort($str){
$_count=count($str);
if($_count<2) return $str;
$standard=$str[0];
$_left=$_right=array();
for($i=1;$i<$_count;$i++){
if($str[$i]>$standard){
$_left[]=$str[$i];
}else{
$_right[]=$str[$i];
}
}
$_left=qkSort($_left);
$_right=qkSort($_right);
return array_merge($_left,array($standard),$_right);
}
$str=array(8,5,4,3,32,2.4,54,59,6,7,);
print_r($str);
print_r(qkSort($str));
26. 二分查找的思想
1.只适用于一组有序数,杂乱无序的数是不能使用二分法查找的
2.思想:根据你查找的数来判断查找前半段仍是后半段
27. linux经常使用命令
ls -a 列出目录全部文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名以外,还将文件的权限、全部者、文件大小等信息详细列出来
cd [目录名]。说明:切换当前目录至dirName
pwd 查看当前工做目录路径
mkdir t 建立t文件夹
rm 删除一个目录中的一个或者多个文件或目录
rmdir 删除空目录
mv 移动文件
cp 复制文件
find 查找文件
chmod 改变权限
tar 压缩
df 显示磁盘空间使用状况
du 显示文件占用磁盘空状况
free 显示系统内存使用状况