当前位置: 首页 > java >正文

校招笔试题

文章目录

  • 一、前端(HTML、JS、CSS)
  • 二、后端(PHP及其他语言)
  • 三、数据库
  • 四、网络
  • 五、Linux
  • 六、算法

之前秋春招做过的笔试题,不定期更新……

一、前端(HTML、JS、CSS)

  • 1、如何设置form表单中的只读属性
    答:(1)readonly (2)disabled
  • 2、如何解决一下代码在IE6下双倍边距的问题
<style>div{float:left;margin-left:10px;width:200px;height:200px;border:1px solid red;}
</style>

答:添加属性display:inline;

  • 3、如何解决超链接被点击后hover样式不出现的问题?
    答:根据固定的顺序设置超链接的属性:link->visited->hover->active
  • 4、怎样定义1px左右高度的容器?
    答:overflow:hidden 或 zoom:0.08 或 line-height:1px,IE6下这个问题是因为默认的行高造成的
  • 5、编写代码,使得当鼠标划过文本框时,自动选中文本框的内容
    答:<input id=“txt” type=“txt” value=“yyfs” οnmοuseοver=“this.select()”>
  • 6、js中网页前进和后退的代码
    答:前进:history.forward(); history.go(); 后退:history.back(); history.go(-1);
  • 7、javascript能否定义二维数组,如果不能,如何解决?
    答:JavaScript不能定义二维数组,到哪可以用arr[0] = new Array();来解决
  • 8、CSS的正确注释是?
    A、// this is a comment //     B、// this is a comment
    C、/* this is a comment */    D、# this is a comment
    答:C
  • 9、请您写一段ajax提交的js代码或者写出ajax提交的过程逻辑
    答:
    var xmlHttp;if (window.XMLHttpRequest) {//IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码xmlHttp = new XMLHttpRequest();}elseif(window.ActiveXObject){//IE6, IE5 浏览器执行代码xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');}xmlHttp.open('GET', '1.php?name=yyfs', true);xmlHttp.onreadystatechange = function () {if (xmlHttp.readyState == 4 && xmlhttp.status == 200) {//判断ajax状态码 及 服务器返回状态码是否正常var text = xmlHttp.responseText;}}xmlHttp.send(null);
  • 10、如何产生带有数字列表符号的列表?
    A、<ul>     B、<dl>     C、<ol>     D、<list>
    答: C
<ol><li>咖啡</li>				//1.咖啡<li>牛奶</li>				//2.牛奶<li></li>				//3.茶
</ol><ol start="50"><li>咖啡</li>				//50.咖啡<li>牛奶</li>				//51.牛奶<li></li>				//52.茶
</ol>
  • 11、以下JavaScript表达式哪些为真?
    A、NaN == NaN    B、null instanceof Object     C、null == undefined
    D、null === undefined E、false == 0    F、100 === 100    G、function(){} instanceof Object
    答: CEFG
  • 12、foo对象有att属性,一下哪些做法是可以获取att属性的值?
    A、foo[‘att’]    B、foo(‘att’)     C、foo{“att”}
    D、foo.att     E、foo[[“a”,“t”,“t”].join("")]
    答: ADE
  • 13、请说明HTML文档中DTD的意义和作用
    答:DTD,文档类型定义,是一种保证html文档格式正确的有效方法,在解析网页时,浏览器将使用DTD来检查页面的有效性,如是否符合规范,元素和标签是否正确,并采取相应的措施,同时还会影响浏览器的渲染模式。
  • 14、如何不使用submit按钮来提交表单
    答:利用JavaScript代码
<!-- 第一种:直接通过a标签上嵌入JavaScript代码 -->
<a href="javascript:document.myform.submit();">Submit Me</a>
<script>//第二种,利用js代码document.getElementsByTagName("form")[0].submit()
</script>
  • 15、请说明HTML文档中DTD的意义和作用
    答:DTD,文档类型定义,是一种保证html文档格式正确的有效方法,在解析网页时,浏览器将使用DTD来检查页面的有效性,如是否符合规范,元素和标签是否正确,并采取相应的措施,同时还会影响浏览器的渲染模式。
  • 16、Ajax技术利用了什么协议?简述Ajax的工作机制?
    答:HTTP协议,异步调用HTTP请求
  • 17、unicode和utf-8、utf-16、utf-32的区别?
    答:unicode是编码字符集,utf是字符集编码。字符的编码字符集是固定的,而字符存在计算机中的机器码取决于字符集编码。
      utf-8:用1-8个字节来保存unicode编码的字符
      utf-16:只能用两字节或四字节来保存字符
      utf-32:把所有的字符都用32bit,也就是4个字节来表示
      浅析unicode和UTF-8、UTF-16、UTF-32的区别
  • 18、cookies、sessionStorage、localStorage的区别?
    答:相同点:都存在客户端
      不同点:(1)存储大小:cookie数据小于4k,sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M
      (2)有效时间:localStorage:存储持久数据,浏览器关闭后数据不丢失,除非主机删除数据
              sessionStorage:数据在当前浏览器窗口关闭后删除
              cookie:设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
      (3)数据与服务端之间的交互方式:cookie的数据会自动传递到服务端,服务端也可以写cookie到客户端,sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存
      (4)作用域:sessionStorage:不在不同的浏览器窗口中共享;localStorage和cookie:在所有的同源窗口中都共享
  • 19、同源策略,跨域的解决方案?
    答:同源指协议相同,域名相同,端口号相同,缺一不可,如http: //www.baidu.com与下面均不同源,http: //baidu.com(域名不同)和https: //www.baidu.com:8080(协议和端口号不同)
      跨域:(1)jsonp:ajax,只能get请求(2)CORS:服务器设置响应头Access-Control-Allow-Origin:*或Access-Control-Allow-Method等(3)window.name+iframe(4)代理:nginx转发

二、后端(PHP及其他语言)

  • 1、isset()和empty的区别
    答:isset()检测变量是否被定义过,而empty()是检测变量是否为空,“”、“0”、0,empty()也认为为空,返回true
    empty(‘null’) //false    empty(array())      //true
    empty(null)  //true    empty(array(array()))   //false
  • 2、下面代码执行后的$result的值?
    $x = " "; $result = is_null($x); $result = empty($x); $result = isset($x);
    答:false,true,true
    解析:$x是一个空串,并不是null;nul没有分配空间,“ ”分配了空间
  • 3、输出代码结果
$GLOBALS['var1'] = 5;
$var2 = 1;
function getValue(){global $var2;$var1 = 0;			//此时$var1是局部变量,应为$GLOBALS['var1'] = 0;return $var2++;
}
getValue();
echo $var1;				//5
echo $var2;				//2
  • 4、使用五种方法以上获取一个文件的扩展名,如从dir/upload_image.jpg中获取jpg或.jpg
    答:
/******  第一种  ******/
function getExt1($filename){return strrchr($filename, '.');
}
/******  第二种  ******/
function getExt2($filename){return substr($filename, strrpos($filename, '.'));
}
/******  第三种  ******/
function getExt3($filename){return array_pop(explode('.', $filename));
}
/******  第四种  ******/
function getExt4($filename){$ext = pathinfo($filename);return $ext['extension'];
}
/******  第五种  ******/
function getExt1($filename){$revFilename = strrev($filename);return strrev(substr($revFilename, 0, strpos($revFilename, '.');
}
  • 5、写一个函数,尽可能高效的从一个标准的url里取出文件的扩展名,例如:http://www.sina.com.cn/abc/de/fg.php?id=1,需要取出php或.php
    答:
function getExt1($url)
{$arr = parse_url($url);$fileName = basename($arr['path']);$ext = explode('.', $fileName);return $ext[1];
}function getExt2($url)
{$url = basename($url);$pos1 = strpos($url, '.');$pos2 = strpos($url, '?');if ($pos2) {return substr($url, $pos1 + 1, $pos2 - $pos1 - 1);} else {return substr($url, $pos1 + 1);}
}
  • 6、写一个函数,计算两个文件中的相对路径,如$a=’/a/b/c/d/e.php’;$b=’/a/b/12/34/c.php’;计算出$b相对于$a的相对路径应该是http://www.cnblogs.com/c/d/添上()
    答:
<?php
$src = '/a/b/c/d/e.php';
$dst = '/a/b/12/34/c.php';
echo getRelativePath($src, $dst);
function getRelativePath($src, $dst)
{$dstDir = explode('/', $dst);$dstFile = array_pop($dstDir);$srcDir = explode('/', dirname($src));$len = count($dstDir);//下标为0的元素为空for ($i = 1; $i < $len; ++$i) {if ($srcDir[$i] != $dstDir[$i]) {     //计算前面有多少段相同break;}}$returnPath = array_fill(0, $len - $i, '..');$returnPath = array_merge($returnPath, array_slice($dstDir, $i));return implode('/', $returnPath) . '/' . $dstFile;
}//返回值../../12/34/c.php
  • 7、include和require都能把另一个文件包含到当前文件中,区别是什么,include_once和include的区别?
    答:区别是对包含文件的需求程度
    include是包含,如果被包含的文件不存在的话,则会提示一个错误,但程序会继续执行下去
    require是需要,如果被包含的文件不存在或者无法打开时,则会提示一个错误并终止程序运行
    once的意思是一次,则include_once和require_once表示只包含一次,避免重复包含
  • 8、如何设置你想要的错误敏感结果?
    答:在php.ini中设置,error_reporting = E_ALL :输出所有错误
      error_reporting = E_ALL&~E_NOTICE :输出致命的错误,不输出警告的错误
  • 9、如何设置你想要的错误敏感结果?
    答:在php.ini中设置,error_reporting = E_ALL :输出所有错误
      error_reporting = E_ALL&~E_NOTICE :输出致命的错误,不输出警告的错误
  • 10、下列哪种错误无法被自定义错误处理器捕捉到(双选)?
    A、E_WARNING     B、E_USER_ERROR     C、E_PARSE     D、E_NOTICE
    答:BC
  • 11、$x = true and false; var_dump($x); 输出结果为?
    答:true
    解析:“=”操作符的优先级比“and”操作符高,因此原语句可以转换为$x = true; true and false; 已经将true赋值给$x
  • 12、问$a的值是什么?
$arr = [1=>1, 3=>3];$i=2;
$a = 'test' . isset($arr[$i])? $arr[$i] : $i;

A、test     B、NULL     C、2     D、test2
答:B
解析:“.”操作符的优先级比“?:”操作符高,因此原语句可以转换为(‘test’ . isset($arr[$i]))? $arr[$i] : $i;

  • 13、问下面输出的值是什么?
$a = 3;$b = 5;
if($a = 5 || $b = 7){$a++;$b++;
}
echo $a.' '.$b;

答:1 6
解析:“=”操作符的优先级比“||”操作符低,所以先判断逻辑再赋值,逻辑语句可以改为$a = ( 5 || $b = 7),此时5直接判断为true,$a = true,true++为1,$b = 5. ++= 6

  • 14、问下面输出的值是什么?
$x = 2;echo $x == 2?'我'$x == 1? '你' : '它';

答:你
解析:“==”操作符的优先级比“?:”操作符高,原语句可以改为(($x == 2)?‘我’ :($x == 1))? ‘你’ : ‘它’;
echo $x == 2 ? '我 ’ : $x==1?‘你’: '它 '; // 加粗条件为真,输出我,为真,则输出前者:你
echo $x == 1 ? '我 ’ : $x==1 ?‘你’: '它 '; //加粗条件为假,输出$x==1,为假,输出后者:它

  • 15、在网站上如果要上传超大的文件,那么需要对php.ini做哪些更改?
    答:upload_max_filesize:服务器允许上传文件的最大值
      max_execution_time:PHP中一个指令所能执行的最大时间,单位是秒
      memory_limit:PHP中一个指令所分配的内存空间,单位是M
      文件上传的相关系统配置
  • 16、对于流量比较大的网站,应采取什么样的措施来缓解访问量问题?
    答:确认系统硬件是否足够支持当前的数据流量,数据库要做读写分离,优化数据表,为常用的数据表添加索引。程序功能限制,禁止外部用户盗链图片或信息等,限制大文件的下载,使用不同主机分流主要流量。
  • 17、$v = 1; $m = 2; $l = 3; if( $l>$m>$v) echo ‘yes’; else echo ‘no’; 输出结果为?
    答:“no“
    解析:$l>$m会转换成1,而1 == $v,则输出结果为“no“
  • 18、如何高效地计算出当前脚本执行所花费的时间?
    答:$_SERVER[‘REQUEST_TIME’]
  • 19、写出程序的输出结果?$test = ‘aaa’; $abc = &$test; unset($test); echo $abc;
    答:aaa
    解析:只删除了test变量名,abc变量指向的内容还存在
  • 20、解决多线程同时写一个文件的问题?
    答:flock($handle, LOCK_EX);
  • 22、下面不是PHP语法的组成部分函数的是?
    A、array     B、eval     C、each     D、list
    答:C
    解析:array是数据结构,不是常规函数;eval将字符串按照PHP代码计算,list是把数组中的值赋给一些变量。each返回数组中当前的键值对,并将数组指针向前移动一步
  • 23、执行代码的结果,echo function_exists(‘print’)?
    答:空
    解析:function_exists:检查函数是否存在,存在则返回true,否则返回false。对于语法结构的判断,例如include和echo这类性质的语法将会返回false
  • 24、输出代码的执行结果?
    $bool = true; echo gettype($bool); echo is_string($bool);
    A、boolean     B、boolean0     C、booleanFALSE     D、booleanfalse
    答:A
    解析:gettype获取数据类型,is_string是字符串则返回true,反之返回false。false打印(直接echo)为空。
  • 25、写出程序的运行结果?
    $a = $b = 0;
    (1)if($a = 3 || $b = 3) { $a++; $b++;}
    (2)if($a = 3 | $b = 3) { $a++; $b++;}
    echo $a . ‘。’ . $b;
    答:(1)1。1(2)4。4
    解析:(1)∵$a = 3 || $b = 3中,$a和$b均为布尔值,为true,true自增无效
       (1)∵或操作,则$a = $b = 3,自增为4。4
  • 26、_____函数能返回脚本里的任意行中调用的函数名称,该函数同时还经常被用在调试中,用来判断错误是如何发生的?
    答:debug_backtrace():返回一个二维关联数组
  • 27、OO面向对象: Object Oriented :OOA :Analysis面向对象分析,OOD:Design面向对象设计,OOP:Programing面向对象编程
  • 28、$fruits = [‘banana’ => ‘yellow’],不能正确得到结果‘yellow’的代码是?
    A、echo “A banana is {$fruits[‘banana’]}”;
    B、echo “A banana is $fruits[‘banana’]”;
    C、echo “A banana is {$fruits[banana]}”;
    D、echo “A banana is $fruits[banana]”;
    答:B
    解析:∵那样写相当于把banana拆出来,会报错
  • 29、问 $data 的值是什么?
<?php
$data = ['a', 'b', 'c'];
foreach ($data as $key => $val){$val = &$data[$key];
}

答:bcc
解析:$data[0] = ‘a’; $v = &$data[0] = ‘a’
   $data[1] = ‘b’; $v = &$data[1] = ‘b’
   此时,$v = ‘b’,因为引用传值,则影响$data[0] = ‘b’。且$v = &$data[1],引用改变为引用$data[1],后期不会再影响$data[0],后面类似。程序流程为 abc —> bbc —> bcc

  • 30、下面的运行结果是?
$date = mktime(9, 12, 31, 6, 10, 2015);
echo "创建时间是" . date("Y-m-d H:i:s", $date);

答:创建时间是2015-06-10 09:12:31
解析:mktime(hour, minute, seconds, month, day, year)

  • 31、在PHP中如何获取客户端和服务端的IP地址?
    答:getenv(‘REMOVE_ADDR’);      // 获取客户端IP地址
      getenv(‘SERVER_ADDR’);      // 获取服务端IP地址
      gethostbyname(‘www.sina.com’);  // 获取指定域名的IP地址
  • 32、详细说明session和cookie,并指出二者的区别和适用方向?
    答:cookie通过在客户端记录信息确认用户身份,session通过在服务端记录信息确认用户身份
    区别: 1、cookie数据存放在客户的浏览器上,session数据放在服务器上
    2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session
    3、session会在一定时间内存放在服务器,当访问增多,会比较占用服务器的性能,考虑到减轻服务器压力的方面,应当使用cookie
    4、单个cookie保存的数据不能超过4k,很多浏览器都限制一个站点最多保存20个cookie
    5、建议:将登陆信息存放为SESSION,将其他信息存放在COOKIE中
  • 33、PHPsession扩展默认将session数据存储在哪里?
    A、SQLite Database  B、MySQL Database  C、shared Memory  D、File System  E、session Server
    答:D
  • 34、实现中文字符串截取无乱码的方法,下列代码输出结果是
$str = 'fal天涯海角';
echo mb_substr($str,0,5,'utf8');
echo mb_substr($str,0,5,'gbk');

答:fal天涯 fal天
解析:utf8下一个中文字符占3个字节,gbk下一个中文字符占2个字节

  • 35、不适用第三个变量交换两个变量的值
    答:
<?php
/******** (1) 允许使用内置函数 ********/
$a = 111;
$b = 222;
list($a, $b) = [$b, $a];
/******** (2) 不允许使用内置函数 ********/
$a = "This is A";
$b = "This is B";
echo "交换之前a的值:{$a},b的值:{$b}";
//交换之前a的值:This is A,b的值:This is B
$a = $a ^ $b;
$b = $b ^ $a;
$a = $a ^ $b;
echo "交换后a的值:{$a},b的值:{$b}";
//交换后a的值:This is B,b的值:This is A
  • 36、数据库关闭指令将关闭哪个链接标识?
$link1 = mysql_connect("localhost", "root", "");
$link2 = mysql_connect("localhost", "root", "");
mysql_close();

A、link1     B、link2     C、全部关闭     D、报错
答:B
解析:如果没有指定link,则默认关闭上一个打开的链接

  • 37、关于mysql_pconnect说法正确的是?
    A、与数据库进行多连接
    B、与mysql_connect功能相同
    C、与@mysql_connect功能相同
    D、与数据库建立持久连接
    答:D
    解析:mysql_close将不会关闭该链接
  • 37、$a的值是?
    A、true     B、1     C、false     D、null
    答:C
    解析:未定义的变量就是false
  • 38、以下说法错误的是?
    A、在外部访问静态成员属性时使用类名::静态成员属性名
    B、在外部访问静态成员属性时使用实例化对象->静态成员属性名
    C、在外部访问静态方法时使用实例化对象->静态方法名
    D、在外部访问静态方法时使用类名::静态方法名
    答:B
    解析:静态属性不能通过一个类已实例化的对象来访问,但静态方法可以
  • 39、在PHP面向对象中,下面关于final修饰符描述错误的是()?
    A、使用final标识的类不能被继承
    B、在类中使用final标识的成员方法,在子类中不能被覆盖
    C、不能使用final标识成员属性
    D、使用final标识的成员属性,不能在子类中再次被定义
    答:D
    解析:属性不能定义为final,只有类和方法可以
  • 40、阅读下面PHP代码,并选择输出结果
class A{public $num = 100;}
$a = new A();
$b = $a;
$a->num = 200;
echo $b->num;

A、100     B、200     C、没有输出     D、程序报错!
答:B
解析:一个对象变量已经不再是保存整个对象,而只是保存一个标识符来访问真正的对象内容。另外一个变量$b与$a指向同一个对象的真正内容。∴$a->num改变,$b->num也应该改变

  • 41、PDO::ATTR_ERRMODE设置为以下哪个值时,PDO会抛出PDOException?
    A、PDO::ERRMODE_SILENT     B、PDO::ERRMODE_WARNING     C、PDO::ERRMODE_EXCEPTION     D、PDO::errorInfo
    答:C
    解析:PDO::ATTR_ERRMODE:错误提示、PDO::ERRMODE_SILENT:不显示错误信息,只显示错误码
    PDO::ERRMODE_WARNING:显示警告错误、PDO::ERRMODE_EXCEPTION:抛出异常
  • 42、哪个函数可以控制PHP的错误信息是否输出到页面上?
    A、error_reporting     B、error_log     C、error_trigger     D、error_echo
    答:A
    解析:B:error_log发送错误信息到某个地方记录日志
    C:写错,只有trigger_error()产生一个用户级别的error/warning/notice信息
    D:没有这个函数
  • 43、array(‘a’) + array(‘b’) 的结果是?
    A、array(‘a’,‘b’)     B、array(‘b’,‘a’)     C、array(‘a’)     D、array(‘b’)
    答:C
    解析:键值相同,前者不能被后者覆盖
  • 44、下面属于函数,而非语法结构的是?
    A、is_set  B、is_null  C、print_r  D、print  E、echo  F、list  G、empty
    答:ABCG
    解析:PHP的语言结构:echo() print() die() isset() unset() include() array() list() empty() require(),注意,include_once()是函数 ,require_once()是函数
  • 45、用最少的代码写一个3值最值函数?
    答:
function maximum($a, $b, $c)
{return $a > $b ? ($a > $c ? $a : $c) : ($b > $c ? $b : $c);
}
echo maximum(24, 15, 8);
  • 46、$a = in_array(‘01’, [‘1’]) == var_dump(‘01’ == 1);$a的值为?
    答: true,in_array(‘01’, array(‘1’))返回true,var_dump(‘01’==1)也返回true.因此$a值为true。
    in_array需要配合第三个参数,才会对数据进行全等===匹配,否则还是==匹配
  • 47、<?php echo -10%3;?>
    答:-1
    解析:-的优先级比%低,所以是-(10%3)
  • 48、file1 :<?php $a='123';?>   file2 :<?php echo include('file.php');?>
    答:1
    解析:echo 的是include的返回值,但如果被包含的文件有return,则返回该return的值
  • 49、下列PHP配置项中,哪一个和安全最不相关?
    A、open_basedir     B、register_globals     C、disable_functions     D、file_uploads
    答:D
    解析:register_globals:注册为全局变量,默认为off。
    disable_functions:限制程序使用一些直接执行系统命令的函数
    open_basedir:限制用户访问文件目录,但只是目录前缀
  • 50、开启php.ini文件中的safe_mode选项,会影响到哪些函数的应用?至少说出四个
    答:pathinfo、basename、fopen和exec等函数
  • 51、<?php echo intval((0.1+0.7) * 10);?>
    答:7
    解析:0.1+0.7=0.8是浮点数,*10在数学计算中是正整数,在计算机中仍是浮点数8,实际值是7.9999…
  • 52、指出<?php echo 'Testing' . 1 + 2 . '45';?>的输出结果
    A、Testing1245     B、Testing345     C、Testing1+245     D、245
    答:D
    解析:(‘Testing’ . 1) + (2 . ‘45’) = 数值转换 = > 0 + 245 = > 245
  • 53、$x = null;if(‘0xFF’ == 255) $x = (int)‘0xFF’; echo $x; 结果是什么?
    答:$x = 0而不是255
    解析:将一个字符串进行强制类型转换会从左向右进行转换,‘0xFF‘转换到 ‘x‘ 时停止转换,所以$x = 0
  • 54、下列语句中,希望输出的结果是什么?
    $a = 3;echo “\\\$a”;echo “${a}”;

    答:\$a 3
    解析:转义特殊字符

三、数据库

  • 1、在MySQL中,concat函数中的作用是将传入的参数连接成为一个字符串,则concat(‘aaa’, null, ‘bbb’)的结果是( )
    A、aaabbb     B、aaa     C、bbb     D、NULL
    答:D
  • 2、如何实现MySQL数据库的双机热备份(描述出原理即可)?
    答:双机热备份通过日志文件来传输服务器上数据的变化。主服务器进程在数据被更新时触发,并将相应的日志文件发送到从服务器,从服务器进程接收到主服务器发送的日志文件后,阅读日志文件并对响应的数据库进行操作。
  • 3、mysql中varchar的最大长度是多少,用什么类型的字段存储大文本?
    答:65535,text
  • 4、date、datetime和timestamp有什么区别?
    答:
    (1)date:只保留日期,不保留时分秒
    (2)datetime:保留日期和时分秒,mysql检索且以“YYYY-MM-DD HH:MM:SS”格式显示datetime值,支持的范围是1000-01-01 00:00:00 到9999-12-31 23:59:59
    (3)timestamp:格式与datetime相同,但其取值范围小于datetime,使用timestamp可以自动地用当前的日期和时间标记insert和update操作,如果有多个timestamp列,只有第一个自动更新。
  • 5、怎么看数据库中有哪些sql正在进行?
    答:show processlist;

四、网络

  • 1、要判断IP地址是否在同一网络,下列哪一项运算正确( )
    A、IP非子网掩码   B、IP或子网掩码    C、IP与子网掩码    D、IP模2加子网掩码
    答:C
  • 2、请写出下列服务的用途和默认端口?
    答:(1)FTP:专门用来传输文件的协议,默认端口21
      (2)SSH:为建立在应用层和传输层基础上的安全协议,SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中信息泄露的问题。默认端口22
      (3)HTTP:超文本传输协议是互联网上应为最为广泛的一种网络协议,所有的www文件都必须遵守这个标准,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。默认端口80
      (4)Telnet:是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用的电脑上使用telnet程序,用它连接到服务器上运行,就像直接在服务器的控制台上输入一样,可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。默认端口23
      (5)HTTPS:是以安全为目标的HTTP通道,即在HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的内容就需要SSL。默认端口443
  • 3、HTTP/1.0中,状态码200,301,304,403,404,500的含义?
    答:200:服务器成功返回网页            301:请求的网页已永久移到新位置
      304:自从上次请求后,请求的网页未修改过    403:服务器拒绝请求
      404:请求的网页不存在             503:服务器超时
  • 4、简述POST和GET传输的最大容量分别是?
    答:GET方法传递数据,控制在1MB之内,POST方法传输数据没有大小限制
  • 5、什么是CGI?什么是FastCGI?php-fpm,FashCGI,Nginx之间是什么关系?
    解析:CGI,通用网关接口,用于WEB服务器和应用程序间的交互,定义输出规范,用户的请求通过 WEB服务器转发给FastCGI进程。
    FastCGI进程再调用应用程序进行处理,如php解析器,应用程序的处理结果如html返回给FastCGI,FastCGI返回给Nginx进行输出。
    假设WEB服务器是Nginx,应用程序是PHP,而php-fpm是管理FastCGI的,这就是php-fpm,FashCGI,Nginx之间的关系。
    FastCGI用来提高cgi程序性能,启动一个master,再启动多个worker,不需要每次解析php.ini,而php-fpm实现了FastCGI协议,是FastCGI的进程管理器,支持平滑重启,可以启动的时候预先生成几个进程。
  • 6、什么是CSRF攻击?XSS攻击?如何防范?
    答:
    (1)CSRF:跨站请求伪造,攻击方伪装用户身份发送请求从而窃取信息或破坏系统。基本原理:用户访问A网站登录并生成Cookie,再访问B网站,如果A网站存在CSRF漏洞,此时B网站给A网站的请求,A网站会认为是用户发的请求,从而B网站成功的伪装了身份,因此叫做跨站请求伪造
    防范:1、合理规范api请求方式,GET,POST
        2、对POST请求加token令牌校验,生成一个随机码并存入session,表单中带上这个随机码,提交的时候服务端进行验证随机码是否相同
    (2)XSS:跨站脚本攻击
    防范:不相信任何输入,过滤输入
  • 7、?
    答:
  • 8、?
    答:
  • 9、?
    答:

五、Linux

  • 1、请解释下列10个shell命令的用途
    答:top:该命令提供了实时对系统处理器状态的监控,它能够实时显示系统中各个进程的资源占用情况。该命令按照对CPU,内存使用和执行时间对系统任务进程进行排序显示,同时还可以通过交互式命令进行设定显示
      ps:显示系统进程在瞬间的运行状态
      mv:文件/目录改名或变更存储位置
      find:在指定的路径下查找指定文件
      df:检查磁盘空间占用情况
      cat:将文件的内容打印到标准输出
      chmod:改变文件的权限
      chgrp:改变文件所属组
      grep:过滤文本,根据指定的字符串,对文件的每一行进行搜索,若找到,则输出该内容
      wc:统计指定文件中的字节数,字数,行数,并将统计结果输出显示
  • 2、?
    答:
  • 3、?
    答:
  • 4、?
    答:
  • 5、?

六、算法

  • 1、有一组数28, 32, 43, 14, 53, 67, 42, 54, 46, 31,写程序排列这组数(要求:第一个最大,第二个最小,第三个是剩下中最大声的,第四个是剩下中最小的,以此类推)?
<?php
$a = $b = [28, 32, 43, 14, 53, 67, 42, 54, 46, 31];
rsort($a);  //对数组进行降序排序
sort($b);   //对数组进行升序排序
$count = count($a);
$result = [];
for ($i = 0; $i <= ($count / 2 - 1); $i++) {$result[$i * 2] = $a[$i];     //把最大的放第一位$result[$i * 2 + 1] = $b[$i];   //把最小的放第二位
}
var_dump($result);
  • 2、一群猴子排成一圈,按1,2,……n依次排号,然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,再把它踢出去……,如此不停的进行下去,知道最后剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m,n,输出最后大王的编号
  • 3、假设有"123<em>abc</em>456<em>def</em>789"这么一个字符串,写一个函数,可以传入一个字符串,和一个要截取的长度。返回截取后的结果。
    要求:
    (1)<em>和</em>标记不得计算在长度之内。
    (2)截取后的字符串,要保留原有<em>标签,不过如果最后有一个标签没有闭合,则去掉其开始标签。
    示例:题中的字符串,要截取长度5,则返回的字符串应该为123ab,要截取长度8,应返回123abc45。

    答:
<?php
$str = "123<em>abc</em>456<em>def</em>789";
$len = 8;
echo cut($str,$len);              //123<em>abc</em>45$len = 5;
echo cut($str,$len);              //123ab
function cut($str, $len)
{$offset = $resLen = 0;$result = '';$strLen = strlen($str);do {//$match的内容,[0] => 全匹配的内容 [1] => 括号内匹配的内容//array(2) { [0]=> array(2) { [0]=> string(12) "<em>abc</em>" [1]=> int(3) } [1]=> array(2) { [0]=> string(3) "abc" [1]=> int(7) } } $num = preg_match("/<em>(.*?)<\/em>/i", $str, $match, PREG_OFFSET_CAPTURE, $offset);if ($num) {   //返回1,则是找到了匹配值//要裁剪的值,先裁剪匹配到的字符串,判断是否已经满足条件$subLen = ($len - $resLen > $match[0][1] - $offset) ? $match[0][1] - $offset : $len - $resLen;$result .= substr($str, $offset, $subLen);$offset += $subLen + strlen($match[0][0]);      //加上这整一串匹配的偏移量$resLen += $subLen;     //结果长度增加if ($resLen < $len) {   //判断是否需要裁剪括号内匹配的内容if ($len - $resLen >= strlen($match[1][0])) {       //如果括号内的接上还是不满足裁剪长度,则把括号内的全接上$result .= $match[0][0];$resLen += strlen($match[1][0]);                //加上括号内匹配的长度} else {$result .= substr($match[1][0], 0, $len - $resLen);break;}}} else {$result .= substr($str, $offset, $len - $resLen);      break;}} while ($offset < $strLen && $resLen < $len);                      //判断是否满足条件,裁剪的长度已经到达字符串长度,结果长度已经到达要求的长度return $result;
}
  • 4、每瓶啤酒2元,2个空酒瓶或4个瓶盖可换1瓶啤酒。10元最多可喝多少瓶啤酒?
<?php
/*** @param $bottle* @param $top* @return float|int*/
function beer($bottle, $top)
{if ($bottle >= 2 || $top >= 4) {    //判断是否可以进行兑换$bottleToBeer = floor($bottle / 2); //酒瓶可以兑换的酒$topToBeer = floor($top / 4);       //瓶盖可以兑换的酒$remainBottle = $bottleToBeer + $topToBeer + $bottle % 2;   //剩余的酒瓶$remainTop = $bottleToBeer + $topToBeer + $top % 4;         //剩余的瓶盖$topToBeer = $bottleToBeer + $topToBeer + beer($remainBottle, $remainTop);      //此次兑换的酒+后续兑换的酒进行递归return $topToBeer;}return 0;   //直至无法兑换
}$money = 10;
$beer = floor($money / 2);          //10元第一次可以买多少酒
$totalBeer = $beer + beer($beer, $beer);  //第一次买的 + 兑换的
echo $totalBeer;        //15
  • **5、计算如下几个字母代表的数字:
    AB - CD = EF
    EF + GH = PPP **
    解析:两位数相加最多是100+,因此P可确定为1,EF + GH = 111
    ABCDEFGH代表数字不能重复
<?php
for ($e = 0; $e < 10; $e++) {if ($e == 1) {    //过滤continue;}for ($f = 0; $f < 10; $f++) {if ($f == 1 || $f == $e) { //过滤continue;}for ($g = 0; $g < 10; $g++) {if ($g == 1 || $g == $e || $g == $f) { //过滤continue;}for ($h = 0; $h < 10; $h++) {if ($h == 1 || $h == $e || $h == $f || $h == $g) { //过滤continue;}$sum = ($e + $g) * 10 + $h + $f;if ($sum == 111) {    //结果确定的时候for ($a = 0; $a < 10; $a++) {if (in_array($a, [1, $e, $f, $g, $h])) {continue;}for ($b = 0; $b < 10; $b++) {if (in_array($b, [1, $a, $e, $f, $g, $h])) {continue;}for ($c = 0; $c < 10; $c++) {if (in_array($c, [1, $b, $a, $e, $f, $g, $h])) {continue;}for ($d = 0; $d < 10; $d++) {if (in_array($d, [1, $c, $b, $a, $e, $f, $g, $h])) {continue;}if ((($a - $c - $e) * 10 + $b - $d - $f) == 0) {printf("{$a}{$b} - {$c}{$d} = {$e}{$f}  {$e}{$f} + {$g}{$h} = 111<br>");}}}}}}}}}
}
  • 6、
  • 7、
http://www.xdnf.cn/news/10981.html

相关文章:

  • 详解Supervisor进程守护监控
  • 鸿洋,郭霖Android开发大牛:从入门到精通系列学习路线以及进阶Android高级工程师书籍介绍
  • 什么是Ajax?Ajax如何发送请求(详)
  • win7查找计算机在哪里,win7搜索在哪
  • Debug技巧汇总
  • 防御DDoS攻击的五种ddos security安全解决方案
  • 【Mysql】实现中位数计算
  • 【教程§discuz!X2.5去除“powered by discuz!”方法小记§】
  • packetshaper产品学习
  • B2C大点名:国内B2C网站收集(更新至2009年6月2日)
  • AI 电商智能导购助手的新型产品交互形态设计和技术方案
  • C语言求最大公约数的三种方法
  • 下载和攻略之青空下的约定 この青空に約束を
  • 毕业论文格式如何快速修改
  • 社会工程学工具(信息安全)
  • 全志 a10 linux,全志A10处理器参数介绍
  • 网页设计与制作成品——基于HTML(品优购)电商购物商城项目设计与实现(html前端源码和论文设计)
  • vscode中写汇编 以及我所遇到的 File not found解决方法
  • html.partial的作用,Html.RenderPartial()与Html.Partial()区别
  • Blekko推出类Flipboard社交新闻网站ROCKZi
  • python定义一个数据自动去重的函数_110道Python面试题(真题小结)
  • 企业OA管理|基于SprinBoot+vue的企业OA管理系统(源码+数据库+文档)
  • 心理学推荐书籍——《色眼识人》
  • Clover 驱动文件夹_声卡驱动的另一个办法(ppleHDA Patcher软件说明)
  • 《当AutoScheduler遇见边缘端:Apache TVM如何重塑模型算子的极限》
  • HDFS中块状态分析
  • ntoskrnl.exe损坏或丢失的解决方式
  • 【转载】什么是网站监测?网站监测包括哪些方面?
  • 如何给ocx,dll控件进行数字签名
  • 按键精灵参考代码