不错的几个面试题目,我相信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
一般网站都会提供自动登录服务, 简单的说就是你第一次(或某一次)登录成功后在某个时间段内不需要再输入用户名或密码进行登录. 比如说两星期
- if (Request.Cookies["UserName"] != null)
- {
- Response.Redirect("B.aspx?UserName=" + Request.Cookies["UserName"].Value);
- }
- else
- {
- if(this.txtName.Text=="A"&&this.txtPassword.Text=="a")
- {
- if (CheckBox1.Checked == true)
- {
- Response.Cookies["UserName"].Value = System.Web.HttpUtility.UrlEncode(txtName.Text);
- Response.Cookies["UserName"].Expires = DateTime.Now.AddDays(14);
- }
- Response.Redirect("B.aspx?UserName=" + System.Web.HttpUtility.UrlEncode(txtName.Text));
- }
- else
- {
- Response.Write("<script>alert('输入出错!')</script>");
- }
- }
radovi (高级程序员) 2009-03-23
对ip的禁止一般就是每次ip访问了都要有个验证过程喽
- <?php
- $db_ipban='127.0';
- if($_SERVER['HTTP_X_FORWARDED_FOR']){
- $onlineip=$_SERVER['HTTP_X_FORWARDED_FOR'];
- }elseif($_SERVER['HTTP_CLIENT_IP']){
- $onlineip=$_SERVER['HTTP_CLIENT_IP'];
- }else{
- $onlineip=$_SERVER['REMOTE_ADDR'];
- }
- $onlineip =substrs($onlineip,16);
- Ipban();
- echo "safer";
- function Ipban(){
- global $db_ipban,$onlineip;
- //db_ipban禁止IP onlineip在线IP imgpath? stylepath ?
- if($db_ipban){
- $baniparray=explode(",",$db_ipban);
- foreach($baniparray as $banip){
- if(!$banip)continue;
- $banip=trim($banip);
- if(strpos(','.$onlineip.'.',','.$banip.'.')!==false){
- die("您的IP段已被列入禁止列表,请与我们联系!");
- }
- }
- }
- }
- //截取函数
- function substrs($content,$length) {
- if($length && strlen($content)>$length){
- $num=0;
- for($i=0;$i<$length-3;$i++) {
- if(ord($content[$i])>127){
- $num++;
- }
- }
- $num%2==1 ? $content=substr($content,0,$length-4):$content=substr($content,0,$length-3);
- $content.='..';
- }
- return $content;
- }
- ?>

浙公网安备 33010602011771号