不错的几个面试题目,我相信JE的牛人

1:先来个简单的
“用户登录一次后,一个月内不需要再次登录,请给出实现方法,用cookie实现"
2:请问如何禁止某一固定IP 访问论坛,列出您所知道的方法,可以编程实现也可以采用其他途径!

3:系统上线后,发现在某些情况下,服务器负载很高,偶尔出现服务器无法响应的问题,请分析一下出现这种情况的可能,并提供对应解决方法  
4:现有两个文件,
   a)数据文件A,格式为:关键词、IP地址、时间,记录条数为1000万左右,该文件是无序排列的。
  b)数据文件B是关键词ID到关键词的对应表文件,格式为:ID、关键词,记录条数在100万左右,也是无序排列的。该对应表中的  记  录是一一对应的,不存在ID或者关键词重复的情况。
要求将数据文件A对应的关键词替换为B中的ID,生成新的数据文件C,数据文件C的格式为:关键词ID、IP地址、时间。
请设计一个程序,实现上述功能。运行程序所使用的服务器的内存为1G,硬盘足够大。
要求:
1. 不能用数据库实现,也不能用shell实现
2. 请给出关键算法和所用的数据结构
3. 分析实现的时间复杂度和空间复杂度

 

1 cookie setMaxAge
2 request.getRemoteAddr

3 流量大,无法计时响应,丢包.太多了..  

4 第四题比较有意思,再想想

playfish (架构师) 2009-03-23
   一般网站都会提供自动登录服务, 简单的说就是你第一次(或某一次)登录成功后在某个时间段内不需要再输入用户名或密码进行登录. 比如说两星期
Java代码 复制代码 收藏代码
  1. if (Request.Cookies["UserName"] != null)   
  2. {   
  3. Response.Redirect("B.aspx?UserName=" + Request.Cookies["UserName"].Value);   
  4. }   
  5. else  
  6. {   
  7. if(this.txtName.Text=="A"&&this.txtPassword.Text=="a")   
  8. {   
  9. if (CheckBox1.Checked == true)   
  10. {   
  11. Response.Cookies["UserName"].Value = System.Web.HttpUtility.UrlEncode(txtName.Text);   
  12. Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(14);   
  13. }   
  14. Response.Redirect("B.aspx?UserName=" + System.Web.HttpUtility.UrlEncode(txtName.Text));   
  15.   
  16. }   
  17. else    
  18. {   
  19. Response.Write("<script>alert('输入出错!')</script>");   
  20. }   
  21. }  
radovi (高级程序员) 2009-03-23
对ip的禁止一般就是每次ip访问了都要有个验证过程喽
Java代码 复制代码 收藏代码
  1. <?php   
  2.   
  3. $db_ipban='127.0';   
  4. if($_SERVER['HTTP_X_FORWARDED_FOR']){   
  5.      $onlineip=$_SERVER['HTTP_X_FORWARDED_FOR'];   
  6. }elseif($_SERVER['HTTP_CLIENT_IP']){   
  7.      $onlineip=$_SERVER['HTTP_CLIENT_IP'];   
  8. }else{   
  9.      $onlineip=$_SERVER['REMOTE_ADDR'];   
  10. }   
  11. $onlineip =substrs($onlineip,16);   
  12. Ipban();   
  13.   
  14. echo "safer";   
  15.   
  16. function Ipban(){   
  17.         global $db_ipban,$onlineip;   
  18.         //db_ipban禁止IP onlineip在线IP imgpath? stylepath ?   
  19.         if($db_ipban){   
  20.                 $baniparray=explode(",",$db_ipban);   
  21.                 foreach($baniparray as $banip){   
  22.                         if(!$banip)continue;   
  23.                         $banip=trim($banip);   
  24.                         if(strpos(','.$onlineip.'.',','.$banip.'.')!==false){   
  25.                                 die("您的IP段已被列入禁止列表,请与我们联系!");   
  26.                         }   
  27.                 }   
  28.         }   
  29. }   
  30. //截取函数   
  31. function substrs($content,$length) {   
  32.         if($length && strlen($content)>$length){   
  33.                 $num=0;   
  34.                 for($i=0;$i<$length-3;$i++) {   
  35.                         if(ord($content[$i])>127){   
  36.                                 $num++;   
  37.                         }   
  38.                 }   
  39.                 $num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);   
  40.                 $content.='..';   
  41.         }   
  42.         return $content;   
  43. }   
  44. ?>  

 

posted @ 2011-11-03 09:10  peterlee  阅读(248)  评论(1)    收藏  举报