读书人

几道.net开发工程师面试题目解决方案

发布时间: 2012-03-31 13:13:26 作者: rapoo

几道.net开发工程师面试题目
几道.net开发工程师面试题目
与大家分享一下
有不同的答案请留下

1.列出所有可用于两个页面之间传递参数的方法。
2.打开一个HTML页面,要自动提交页面的一个form,如何实现?请简单写出相关的页面代码(包括form的主要代码)
3.C#的类中,函数Public,Private,Protect,internal限定符各有什么区别?
4.你对.net的GC的理解,不能超过300字。
5.请写一个查询语句:从user表中取出name列中的起始字符是“北京”的全部记录
6.请你简单的说明数据库建立索引的优缺点
7.如果禁用了cookie,是否会影响到session的使用?原因?
8.C#中Finalize,Dispose有什么不同?
9.最大公约数
既能被两个整数整除的最大整数,例如,24与15两个数的最大公约数为3.求最大公约数可以用求余法来实现。即用两个整数中最大的整数除以最小的数求余数,然后使用除数除以余数求余,直到余数为0时,之前的除数也就是两个数的最大公约数。
10.求素数的程序
A.The algorithm is quite simple.Given an array of integers starting at 2.Cross out all multiples of 2.Find the next uncrossed integer,and cross out all of its multiples.Repeat until you have passed the square root of the maximum value.
A.请翻译上述文字。
B.编程 要求输入一个正整数(可以写死在程序中),返回小于这个数的所有素数。

[解决办法]
两个页面之间传递参数的方法:
第一种方法:
通过URL链接地址传递
第二种方法:
通过post方式。
第三种方法:
通过session
第四种方法:
通过Application
第五种方法:
通过Server.Transfer
第六种
使用QueryString
我们一般都用QueryString,Session和Server.Transfer这三种
[解决办法]
3.C#的类中,函数Public,Private,Protect,internal限定符各有什么区别?

public 关键字是类型和类型成员的访问修饰符。公共访问是允许的最高访问级别,对访问公共成员没有限制。protected 关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。private 关键字是一个成员访问修饰符。私有访问是允许的最低访问级别。私有成员只有在声明它们的类和结构体中才是可访问的。internal 关键字是类型和类型成员的访问修饰符。只有在同一程序集的文件中,内部类型或成员才是可访问的。
[解决办法]
页面传值方式有7:
1 session
2 server.Tranfer
3.application
4 cookie
5 url
6 数据库
7隐藏域

[解决办法]
1.session,sever.transfer,get,post,cookie,application
3.Public,Private,Protect,internal
5.select * from user wherer name like'北京%'
6. 索引可以避免全表扫描。
聚集索引可以避免数据插入操作集中于表的最后一个数据页
索引还可用于避免排序操作
索引需要占物理空间
7.客户端禁用Cookie,Session也会失效。参考
8.
都是进行垃圾回收的接口,作用都是回收外部资源(即非托管资源)。GC只能回收托管内存,非托管内存需要自己实现回收。
Finalize为protected方法,外部不可见。Dispose则用于被外部或用户调用,很多时候Dispose方法等同于该类的Close方法,即具备Dispose方法的类都有对应的Close方法

[解决办法]
最大公约数
static int CommonDivisor(int x, int y)
{
if (x > y)
{
if (y == 0)
{
return x;
}

return CommonDivisor(y, x % y);
}
else if (x == y)
{
return x;
}
else
{
return CommonDivisor(x, y % x);
}
}
[解决办法]
Up
[解决办法]
9.最大公约数:

C# code
        static void Main(string[] args)        {            int[] nums = new int[4] { 756, 504, 630, 2226 };            Console.Write(GetGongYue(nums));            Console.Read();        }        public static int GetGongYue(int[] nums)        {            int first = 0;            int temp = nums[1];            for (int i = 0; i < nums.Length; i++)            {                first = nums[i];                while (first % temp != 0)                {                    int temp2 = first;                    first = temp;                    temp = temp2 % temp;                }            }            return temp;        }
[解决办法]
都答完了,帮顶一下
------解决方案--------------------


10.求素数

C# code
        static void Main(string[] args)        {            int su = 36;            GetSushu(su);            Console.Read();        }        public static void GetSushu(int su)        {            bool flag = false;            for (int i = 2; i < su; i++)            {                int j = 2;                while (!flag && j<i)                {                    if (i % j == 0)                        flag = true;                    else                        j++;                }                if (!flag)                {                    Console.WriteLine(i);                }                flag = false;            }        }
[解决办法]
看看
[解决办法]
学习...
[解决办法]
大部分都能答出来 但是不知道考官需要一个 较精深的答案 还是一个 普通的基础答案。
每项技术都有深层次的 和基础层次的 层面
[解决办法]
看看 , 杂没人对英文感兴趣?
[解决办法]
学习了
[解决办法]
帮顶!!
[解决办法]
学习
[解决办法]
学习!
[解决办法]
怎么.net开发工程师的题目,要比.net程序员的题目简单啊..
[解决办法]
学习
[解决办法]
学习了...
[解决办法]
第2和第10A怎么没人回答呢
[解决办法]
一楼和二楼说的不错。
[解决办法]
所以一旦客户端禁用Cookie,那么Session也会失效。

服务器也可以通过URL重写的方式来传递SessionID的值,因此不是完全依赖Cookie。如果客户端Cookie禁用,则服务器可以自动通过重写URL的方式来保存Session的值,并且这个过程对程序员透明。
这两句话不是矛盾吗?第二句话不是说明禁用Cookie也能用session?
[解决办法]
7、影响,因为Session就是未在客户端保存的cookie
[解决办法]
10、以前写过,用的最古老的筛选法。。。。效率不怎么样,高于100W就明显慢了
[解决办法]
重写URL的方式?
什么意思啊,是地址栏会改变吗?

我特意去测试了下.禁用了cookie,ie里能读到session, ff里是读不到session的.

[解决办法]
up
[解决办法]
来学习的。。。
[解决办法]
禁了COOKIE可以到SESSION的,不知道什你有的不到。
[解决办法]
因SESSION是存在服器端的
[解决办法]

[解决办法]
素数都忘了, 我不活了。
PS:开发工程师用这种面试题????
应该不可能吧/
[解决办法]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


问题2,不知道我理解的对不对?这个题目表述的有点让我无语!

HTML code
<html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server">    <title>auto</title><script language='javascript'>window.onload=function(){    document.getElementById("form1").submit();}</script></head><body>    <form id="form1" method="post" action="另一个页面">    <div>        </div>    </form></body></html>
[解决办法]
答第2题
HTML code
<html xmlns="http://www.w3.org/1999/xhtml" ><head>    <title></title>    <script type="text/javascript">        window.onload = function()        {            window.form1.submit();        }    </script></head><body><form id="form1" action="target.aspx" method="post"><input id="txtName" name="txtName" type="text" value="hello" /><input type="submit" value="test" /></form></body></html>
[解决办法]
1 一共6种
url链接,post,隐藏域,Session,Application,Server.Transfer,querystring.
2 body onload="javascript:this.forms.submit()"
3 网上好多,具体不列
4 同3
5 select * from User where name like '北京%'
6 索引 可以更新快的搜索
7 会影响
8 Finalize是对象不可访问后自动被调用 ,而Dispose则是使用者调用。
DisposE可以释放资源 ,而close不释放,仅仅是关闭而已。
[解决办法]
英文翻译啊,我来:
The algorithm is quite simple.Given an array of integers starting at 2.Cross out all multiples of 2.Find the next uncrossed integer,and cross out all of its multiples.Repeat until you have passed the square root of the maximum value.

翻译如下:
这个算法非常简单。给定一个起始从2开始的一个整数数组,交叉(间隔)进行2的倍数。找出下一个非交叉的整数,并且交叉出它全部的倍数。重复以上过程,直到你搜素到最大值的平方根。

其实呢,就是求素数的算法,C语言上有介绍这基础的算法的。



[解决办法]
学习了~~哈哈1`
[解决办法]
学习!
[解决办法]
5. select * from user where name like '北京%'
[解决办法]
9.最大公约数
既能被两个整数整除的最大整数,例如,24与15两个数的最大公约数为3.求最大公约数可以用求余法来实现。即用两个整数中最大的整数除以最小的数求余数,然后使用除数除以余数求余,直到余数为0时,之前的除数也就是两个数的最大公约数。
10.求素数的程序

最大公约数就用离散数学里的辗转相除法就行了

素数的也是老题了

其实面试的时候 很容易考一些教科书后面的练习题,大家看完教科书可以练练手,有些算法还是会用到的
[解决办法]
P.S

29L的哥们,你那个头像很强大,佩服
[解决办法]
这是哪个公司的面试题啊
[解决办法]
天哪 !跟我面试时候的题目竟然有9题是一摸一样的 ,连序号都一样 ,只是最后一题我们是要用手写一个功能 要求用js写

我虽然都做了 但是看了你们的答案 觉得我有两题还是做的不全的 嗯 佩服!
[解决办法]
路过
[解决办法]
瞅瞅~
[解决办法]
探讨
两个页面之间传递参数的方法:
第一种方法:
通过URL链接地址传递
第二种方法:
通过post方式。
第三种方法:
通过session
第四种方法:
通过Application
第五种方法:
通过Server.Transfer
第六种
使用QueryString
我们一般都用QueryString,Session和Server.Transfer这三种



[解决办法]
献丑。
HTML code
<html>    <head>        <meta http-equiv="Content-Type" content="text/html; charset=GB2312" />        <title>求素数</title>    </head>    <script type="text/javascript">    /*        // Example in JavaScript        // Rainsome Studio        // rainsome@126.com        // 2009-05-07 in Shanghai    */    <!--//    //求素数        function GetPrimeNumber(){        var _len_=200;        var _arrNumbers_=new Array;        var _inttmp_ =0;        var result='';                for(i=0;i<_len_;i++)_arrNumbers_[i]=i+2;        result+='排序前 : '+_arrNumbers_.toString()+"<br />";        _arrNumbers_.sort(compareIntegers);        result+='排序后 : '+_arrNumbers_.toString()+"<br />";        var iMin=_arrNumbers_[0];        var iMax=_arrNumbers_[_arrNumbers_.length-1];        result+='最小数 : ' + iMin +"<br />";        result+='最大数 : ' + iMax +"<br />";                var m=Math.sqrt(iMax);        result+='最大数的平方根 : ' + m +"<br />";        var k=0;        while(_arrNumbers_[k]<Math.sqrt(iMax)){                        var j=_arrNumbers_.length;            for(i=0;i<j;i++){                if(i>=k&&_arrNumbers_[i]/_arrNumbers_[k]>1&&_arrNumbers_[i]%_arrNumbers_[k]==0){                    _arrNumbers_.splice(i,1);i--;                }            }            k++;                                }            result+='数组中的素数 : ' +_arrNumbers_.toString()+"<br />";                return result;            }        function compareIntegers(vNum1,vNum2){        var iNum1=parseInt(vNum1);        var iNum2=parseInt(vNum2);        if(iNum1<iNum2){            return -1;        }else if(iNum1>iNum2){            return 1;        }else{            return 0;        }            }        //-->    </script>    <body>        <div id = "divtest" ><b>找出整数组中的素数.</b></div>        <div id =  "result"></div>        <input type="button" value="Display" onclick="javascript:document.getElementById('result').innerHTML=GetPrimeNumber();" />    </body></html>
[解决办法]
.
[解决办法]
非常认真的学习了!!!
[解决办法]
收藏了
[解决办法]
学习。。
[解决办法]
mark
[解决办法]
mark
[解决办法]
好东西哇·
[解决办法]
顶一个
[解决办法]

东西太多,等有时间慢慢看
[解决办法]
回帖是一种美德!每天回帖即可获得 10 分可用分!
[解决办法]
帮顶啦~~
[解决办法]
做个记号,以后用得着
[解决办法]
看看
------解决方案--------------------


学习
[解决办法]
面经有必要吗?我面试了大多人,很多都是读过面经或者背出来的,这种文字上面的东西一点意义都没有
[解决办法]
16 用我的像,我追的!—_—!

up!
[解决办法]
好东西,顶顶!
[解决办法]
过来看看
[解决办法]
学习
[解决办法]
页面传值方式有7:
1 session
2 server.Tranfer
3.application
4 cookie
5 url
6 数据库
7隐藏域
========================
隐藏域是什么东东?不是form提交吗?

server.Tranfer怎么传值?

另外cache也可以实现在页面之间传值吧
[解决办法]
ViewState 算不算?不过ViewSstate也是form提交
[解决办法]

探讨
英文翻译啊,我来:
The algorithm is quite simple.Given an array of integers starting at 2.Cross out all multiples of 2.Find the next uncrossed integer,and cross out all of its multiples.Repeat until you have passed the square root of the maximum value.

翻译如下:
这个算法非常简单。给定一个起始从2开始的一个整数数组,交叉(间隔)进行2的倍数。找出下一个非交叉的整数,并且交叉出它全部的倍数。…

[解决办法]
两个页面之间传递参数的方法:
第一种方法:
通过URL链接地址传递
第二种方法:
通过post方式。
第三种方法:
通过session
第四种方法:
通过Application
第五种方法:
通过Server.Transfer
第六种
使用QueryString
我们一般都用QueryString,Session和Server.Transfer这三种

读书人网 >asp.net

热点推荐