公司招聘技术开发人员,我就出了一份题目。其中一道题目考查对web开发中一些知识点的掌握程度,从早些年招聘ASP开发人员开始就是用这个题目,现在在.NET环境下稍作调整,感觉效果还不错。
从回答的结果看,开发经验所产生的差异非常大。有的只提出两三个问题,有的提出六七个以上。其实如果从一个网站系统的整体来考虑,我认为其中可以改进的地方不少于10处,涵盖了程序结构、安全性、效率等多方面问题。现在拿出来这个题目,感兴趣的朋友可以讨论一下。
题目如下:
一个网站的登录功能代码如下,请分析该网站系统可能存在的问题,并提出改进意见。
privatevoid btnLogin_Click(object sender, System.EventArgse)
{
//点击登录按钮进行登录
string UserId = tbUserId.Text.Trim(); //用户名
string UserPwd = tbUserPwd.Text.Trim(); //密码
string selectSql = "select * from admin where UserId='" + UserId +"' and UserPwd='" + UserPwd + "'";
SqlConnection myConn = new SqlConnection("server=202.221.41.103;uid=sa;pwd=123456;database=WebDB;");
SqlCommand myCmd = new SqlCommand();
myCmd.Connection = myConn;
myCmd.CommandType =CommandType.Text;
myCmd.CommandText = selectSql;
myConn.Open();
SqlDataReader myReader = myCmd.ExecuteReader();
if(myReader.Read())
{
Session["UserId"]= UserId;
Response.Redirect("Main.aspx");
}
}