1.你在写复杂web界面的时候遇到的最大困难是哪些方面
我答:对齐问题.
2..NET里面的datagrid翻页大多是先把数据读全部取到dataset里面,但是遇到10W条数据以上,这样的翻页事件开销会很大,页面执行起来反映很慢,你有什么好方法解决?
3.权限控制方面问题:
在同一个页面编辑数据的时候有的用户能有权限有的不能编辑.
我答:保存登陆session变量判断.
他说:用权限的组和角色来做.
因为过了几天了,基本题目意思就是这样,尤其对于3题大家有源程序的希望借来参考,谢谢
[email protected]我的邮箱....

解决方案 »

  1.   

    3.权限控制方面问题:
    这是基于角色的身份验证的 http://www.cnblogs.com/gwazy/archive/2005/05/18/158242.html
    http://www.cnblogs.com/gwazy/archive/2005/05/19/158993.htmlhttp://www.cnblogs.com/gwazy/archive/2005/06/02/166497.html
      

  2.   

    1.页面布局设计问题2.利用存储过程分页 每页取出20条或30条
    http://blog.csdn.net/goody9807/archive/2004/12/03/203670.aspx
      

  3.   

    这些问题都是基本的  也是大家经常讨论的 
    不过第三个问题 我觉得2种答案都可以
    如果整个项目就2个权限级别  那就用SESSION 或者COOKIE 就可以
    如果是复杂的权限 才用基于角色的身份验证
      

  4.   

    Re:2..NET里面的datagrid翻页大多是先把数据读全部取到dataset里面,但是遇到10W条数据以上,这样的翻页事件开销会很大,页面执行起来反映很慢,你有什么好方法解决?Cache
    DataSet
      

  5.   

    权限用Session或cookie保存权限标志,
    如果更复杂的话就用分组与角色来区分你在写复杂web界面的时候遇到的最大困难是哪些方面
    没有好的平面构思
      

  6.   

    题目出得不错,考官肯定也是一位做过.NET的程序员。
    这些都是很基本的却不得不考虑的问题。
    答一下第二题:我用存储过程分页,一次只传送一页的数据,大大减少了网络传送量。百万级数据都没问题,更别说10W.
      

  7.   

    好问题啊.很少能遇到这样的面试..帮你Up至于这些问题答案,楼上的已经回答了很多了,楼主可以在Google或Msdn上能找到很好的答案.
      

  8.   

    这么基础的问题也拿出来问?好笑..上.NET版块看看吧.这些问题都老的掉渣了..
      

  9.   

    luckyprg(lucky) 
        答一下第二题:我用存储过程分页,一次只传送一页的数据,大大减少了网络传送量。百万级数据都没问题,更别说10W.
        每次只取十万条吗?可是网络传输也慢呀,十万条应该要花费很多时间。还是你用的是别的什么方法?如果是能给我看看吗?谢谢。
      

  10.   

    建议楼主看一看
    ASP.NET Portal Starter Kit程序!!它是一个很经典的程序。。你一定会喜欢它的
      

  11.   

    基于角色的身份验证和在表中加字段判断Session有什么优缺点?
      

  12.   

    第三个..我们把这个角色的权限ID读取出来.保存在Session.然后判断.
    我们角色也是组- 权限..首先是读取组-然后权限.-保存Session
      

  13.   

    VS.net截面不好弄啊  呵呵  有高手吗/
      

  14.   

    我那天就没有考试,直接跟他们经理谈的,直接PASS了,但是:工资实在是太低了,试用期只有3K! 我已经工作4年了,现在都有5.XK了,我说我有必要到你Foxcon那里去吗?
      

  15.   

    2。
    有必要对10w笔资料分页么?
    给他控制查询条件,top 100 :)
      

  16.   

    存储过程适用面不高不能支持多数据库。我的处理办法是这样的,取所有或一定数量(万)的ID到客户端,然后根据用户看的数据,把要看的数据的ID传给数据库,取到记录。这样做法的好处是只搜索一次,而且获取的是主键,其他查看过程根据ID主键获取数据是飞快的。我们公司测试过,几百万的数据都没问题的。
      

  17.   

    是挺基础的题目。
    不过都是现实在要用的的。第二个在稍微复杂一点的系统中都要用到组和角色就像NT/2K中 域的设置一样。
      

  18.   

    简单的问题并不简单.
    第一个是考察你的实践经验的,不同的答案可以反映出你的实践范围,不谈,最后一个是考察项目经验的,谈论很多,也不谈.
    就说说第二个.
    要回答这个问题,仅仅说怎么写存储过程,怎么一次返回多少条是毫无意义的(有谁会笨到拿着几十、几百甚至几千万的数据放到网上传呢?),回答这个问题需要先明确数据库背景,毕竟对查询来说,真正对其效率影响最大的是数据库的设计和查询的算法设计,而不是什么数据怎么传。第二个问题可以说是考究你实际水平的问题。但是,我的疑惑是,招聘.net程序员需要对这个问题做如此深究吗?又不是招DBA。所以,估计楼上的答案应该可以让考官满意了。(注:但是所谓top 100的说法需要数据库前提的,这个好像不是SQL 99规范)
      

  19.   

    学了很多东西,好久没有来CSDN了..以后我会每天在这里面泡的......学好NET,为了自己有个美好的明天,为了未来的女人,为了未来的BABY....
      

  20.   

    好像不止一个说10万数据量的Datagrid的返回问题了,下面有个存储过程
    贴上来先,还有个地方搞不懂,希望达人给解释下
    Figure 2 示范了一个用 Northwind 数据库中 Orders 表通过存储过程分页的例子。Figure 2 Paging Through the Orders Table
     CREATE PROCEDURE northwind_OrdersPaged
    (
        @PageIndex int, 
        @PageSize int
    )
    AS
    BEGIN
    DECLARE @PageLowerBound int
    DECLARE @PageUpperBound int
    DECLARE @RowsToReturn int-- First set the rowcount                            --这段有什么作用?想不通??
    SET @RowsToReturn = @PageSize * (@PageIndex + 1)  
    SET ROWCOUNT @RowsToReturn-- Set the page bounds
    SET @PageLowerBound = @PageSize * @PageIndex
    SET @PageUpperBound = @PageLowerBound + @PageSize + 1-- Create a temp table to store the select results
    CREATE TABLE #PageIndex 
    (
        IndexId int IDENTITY (1, 1) NOT NULL,
        OrderID int
    )-- Insert into the temp table
    INSERT INTO #PageIndex (OrderID)
    SELECT 
        OrderID
    FROM 
        Orders
    ORDER BY 
        OrderID DESC-- Return total count
    SELECT COUNT(OrderID) FROM Orders-- Return paged results
    SELECT 
        O.*
    FROM 
        Orders O,
        #PageIndex PageIndex
    WHERE 
        O.OrderID = PageIndex.OrderID AND
        PageIndex.IndexID > @PageLowerBound AND
        PageIndex.IndexID < @PageUpperBound
    ORDER BY 
        PageIndex.IndexIDEND
      

  21.   

    第三个..我们把这个角色的权限ID读取出来.保存在Session.然后判断.
    我们角色也是组- 权限..首先是读取组-然后权限.-保存Session
    ------------
    好好看一下asp.net的角色,如果只停留在asp时代,还是放弃学.net吧
      

  22.   

    1.你在写复杂web界面的时候遇到的最大困难是哪些方面
    其实,复杂页面最大的困难并非如何画出此界面,而是如何让此界面清晰有条理.我们做页面,并非仅显示数据,而是要准确/清晰地显示数据,想想看,如果用户要在此页面中查找一个数据,却杂乱无章,难以查看,你说用户会满意吗?2.NET里面的datagrid翻页大多是先把数据读全部取到dataset里面,但是遇到10W条数据以上,这样的翻页事件开销会很大,页面执行起来反映很慢,你有什么好方法解决?
    在数据量大的时候,有两个解决办法
    1.使用存储过程.并且,并非因为存储过程比较快的原因.由于在数据库内部的存储过程,能够实现一些特殊的功能,比如说,可以直接根据当前的排序结果,仅仅取需要的几条数据,如此,无论数据是多少,它仅仅取需要的几条.
    2.在实际的操作中,取出的数据,并非你有10万条,它就会把10万条全部取出来,而是受限于服务器的缓存,其实一次一般仅取1000条左右的记录,无论你数据多少,它仅会一次取这么多出来.所以,配合分页控件,再配合.NET提供的加载N条数据的方法,数据量大的情况下,不见得就会慢.
    据我测试,真正慢的,是在取数据总共多少条这个步骤上.此操作在数据少时,没有影响,但在百万条记录以上时,求取数据总数,耗时就会大量增加.所以,大数据量条件下,即不应再显示"共几条/当前第几条"这样的信息.3.权限控制方面问题:
    从面向对象的角度讲,如果一个程序中,没有应用角色及角色组的话,那么这个程序是不合格的.一般来说,权限是由权限及流程角色组合而来的,如果仅有权限而没有角色,那么这个控制不灵活;如果仅有角色没有权限,那么这个控制不细致.
    当然,用SESSION肯定是要的,但这个SESSION,应当只记录当前用户的个人信息,比如他的用户名.在需要判断的时候,根据他的用户名(唯一),至数据库中去取他的权限,或在类中编写权限/角色,根据此用户的用户号及当前模块号,计算当前用户是否对当前页面有操作权限.不过,如果把用户的权限也取出来放在SESSION中的话,这种做法一般仅在很小的网站中使用,稍大一点的系统,基本不允许这么做,而且也做不到.
      

  23.   

    hchxxzx(NET?摸到一点门槛) 
    给大家说的这么详细大家心底里感谢!无私的共享知识
      

  24.   

    回复人: drk928(一起看斜阳) ( ) 信誉:106  2005-6-9 10:42:54  得分: 0  
     
     
       
    这么基础的问题也拿出来问?好笑..上.NET版块看看吧.这些问题都老的掉渣了..----------
    为什么你不回答看看?不晓得这几颗星是怎么得来的?
     
      

  25.   

    第1题:样式的设计与颜色的搭配
    第2题:我觉得第2题的正解应该是用Cache将数据集缓存起来,毕竟现在哪台电脑没有512MB以上的内存?然后将DataSet分批量绑定,这样速度将是非常快~~其实数据在数据库的搜索时间并不是很长,主要的时间都花在DataGrid的绑定上了,用小批量的数据来绑定,速度上要快得多
    第3题:我是用权限表,就是将用户的权限存在表上,进到不同的页面就读不同的数据行来判定用户的权限,不过我一般是将用户名保存到Cookie上,不喜欢Session,容易丢数据。深圳富士康我去过,感觉还是不错的,不过由于工资不太高,试用期5K左右,而且大公司晋升比较难,我也不太愿意放弃现在这个位子,有点可惜了
      

  26.   

    Dataset是在内存中的影射,几百万条,也占用很多了
    不过现在内存不贵,哈哈
    对控件进行分批邦定吧
    一次多少条由你定,这样会快很多
    再者就是及时的clear dataset的东西