• 网上搜集的 一点 .net面试题


    经历了几次面试做了几个面试题,虽然都通过了但都有一些遗憾,还是觉得应该把常出现的面试题以及答案整理一下,以备不测~~

    1:a=10,b=15,在不用第三方变量的前提下,把a,b的值互换

    2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组

    3:请简述面向对象的多态的特性及意义!

    4:session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法

    5:对数据的并发采用什么办法进行处理较好。

    6:已知Oracle数据库有GD和ZS两个数据库,GD数据库v_s表有数据写入时,从v_s表中提取最新数据到ZS数据库的D_E表中。请问用什么办法解决这一问题?如果又碰到不能互访的问题时,又用什么办法解决?

    7:已知Oracle数据库a,b
    现在在a用户权限下,访问b数据库sql语句为select a.* From b a,请改正这一句Sql的写法

    8:当对数据库进行海量级的数据插入时,数据库出现报错,错误原因可能有哪些,以你的经验谈谈你的解决办法

    9:算法分析
    AH 20060625 12 44 01 CAD001
    AH 20060625 12 44 01 CAD001
    AH 20060625 13 44 02 CAD001
    AH 20060625 14 44 03 CAD001
    说明:第二列表示日期,第三列表示温度,第四列表示水位,第五列表示流量,第6列表示水位测站编码,每一列表示一个字段
    很明显第一条数据和第二条数据重复,然数据表中有主键和外键的约束,是不允许有重复的数据存在的,请构造算法将重复的数据Del掉

    10:javascript算法
    已知a,b,现在点鼠标a会向b游动,鼠标停,a会停下来
    请实现"跑步算法"

    答案哦

    答案:
    1。
    a=a+b;
    b=a-b;
    a=a-b;
    据说还可以这样:a^=b^(b^=a^b); 不了解是什么原理

    2。
    public class TestQuickSort {

    private int[] array = null;

    private void quickSort(int lowest, int highest) {
    if (array == null || lowest < 0 || lowest >= highest
    || highest >= array.length) {
    return;
    }
    int low = lowest;
    int high = highest;
    int key = low++;
    for (; low <= high;) {
    if (key < high) {
    if (array[key] > array[high]) {
    array[high] = array[key] + (array[key] = array[high]) * 0;
    key = high;
    }
    high--;
    }

    if (key > low) {
    if (array[key] < array[low]) {
    array[low] = array[key] + (array[key] = array[low]) * 0;
    key = low;
    }
    low++;
    }
    }
    quickSort(lowest, key - 1);
    quickSort(key + 1, highest);
    }

    /**
    * @param args
    */
    public static void main(String[] args) {
    TestQuickSort test = new TestQuickSort();
    int[] array = {6,5,2,9,7,4,0};
    test.array = array;
    test.quickSort(0, array.length - 1);
    int length = test.array.length;
    for (int i = 0; i < length; i++) {
    System.out.println(test.array[i]);
    }
    }
    }
    快速排序是综合性能最好的内部排序算法!

    3。多态:面向对象的语言使用虚方法表达多态。这就意味着派生类可以有和父类具有同样签名的方法,并且父类可以调用派生类的方法。在C#中,必须使用virtual关键字才能使方法被父类调用。这使得一个对象在不同的环境中有不同的动作形态。

    4。用VIEWSTATE /Profile/自己在服务器端实现个Cache
    5。答可以控制连接池的连接数量
    条件好的话 可以用负载平衡
    5:对数据的并发采用什么办法进行处理较好。
    以下看法仅供探讨
    对数据库的数据同时并发访问可能会导致磁盘IO排队,锁竹访问资源等导致访问速度下降的现象,解决办法可以有1、允许的情况下降低事务的隔离级别。2、多CPU支持并发访问的的主机例如AIX等,可以用prarell 并发度的访问hint来提高cpu对IO的访问效率。3、表空间做切分,当发现多张表位于某个表空间同时大量并发导致io排队的情况,可以考虑将这些表重该表空间分离出来,到新建的表空间中。有条件的情况下,可以将新建的表空间放到不同的磁盘上。这样可解决单个磁盘IO负荷过重的情况。
    个人感觉面试方可能是想问这样的答案。

    7:已知Oracle数据库a,b
    现在在a用户权限下,访问b数据库sql语句为select a.* From b a,请改正这一句Sql的写法
    感觉问题有些混乱,我给的答案如下:
    在a用户有对b数据访问权限的前提下,在a登录的环境下可用以下语句访问b库的表: select b.tablename.* from b.tablename

    8。
    8:当对数据库进行海量级的数据插入时,数据库出现报错,错误原因可能有哪些,以你的经验谈谈你的解决办法
    以下只是个人经验和看法,仅供参考:
    1、待导入的数据中某些数据不符合数据库表的规格,如check,constrains,not null等条件不能满足,导致数据无法插入到表中。
    解决办法:对待导入数据进行预处理,检查数据是否符合导入的规格。
    2、数据有完全重复的数据,两条记录完全相同,导致无法入库。
    解决办法:预处理数据,把这样的数据检查出来保留一条。
    3、数据量过大,导致表空间耗尽,如果表空间设置成非自动增长模式,此时导入会自动退出。
    解决办法:确保导入的表空间够大。
    4、导入时多用户访问数据库的导入表资源,可能会有死锁把表锁住导致无法导入。
    解决办法:海量导入的时间都比较长,可能情况下,应该用单用户模式导入。如果不能满足该条件,就请其他用户暂时不要访问待导入的表。

    9。
    alter table 表 add ID int identity(1,1)
    delete 表
    where newfield not in
    (
    select top 1 ID from 表 group by 日期,温度,水位,流量,水位测站编码
    )
    alter table 表 drop column ID
    最近闲来无事,对第10个问题进行了研究
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    10:javascript算法
    已知a,b,现在点鼠标a会向b游动,鼠标停,a会停下来
    请实现"跑步算法"
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>JavaScript</title>
    <style>
    html
    {
    background-color:silver;
    }
    .point1
    {
    position:absolute;
    left:10px;
    top:40px;

    }
    .point2
    {
    position:absolute;
    left:100px;
    top:40px;
    }
    .hr1
    {
    position:absolute;
    top:60px;
    }
    </style>
    <script type="text/JavaScript">
    document.onmousedown = mousedown;
    document.onmouseup = mouseup;
    var intervalProcess;
    var direct = true;
    function mousedown(){
    intervalProcess = setInterval("MovePoint()", 1);
    }
    function mouseup(){
    clearInterval(intervalProcess);
    }
    function MovePoint(){
    with (document.getElementById("point1").style){
    if (isNaN(parseInt(left)))
    left = "10px";
    else {
    document.getElementById("point2").style.left = "200px";
    if (parseInt(left) < 0)
    direct = true;
    if (parseInt(left) > parseInt(document.getElementById("point2").style.left))
    direct = false;
    if (direct)
    left = parseInt(left) + 1 + "px";
    else
    left = parseInt(left) - 1 + "px";
    }
    }
    }
    </script>
    </head>
    <body>
    <div class="point1" id="point1"><font color=blue>a</font></div>
    <div class="point2" id="point2"><font color=red>b</font></div>
    <hr class="hr1" />
    </body>
    </html>
  • 相关阅读:
    缓存之雪崩现象与穿透现象
    Linux下安装php的memcached扩展(memcache的客户端)
    Linux下编译、安装php
    Linux下编译、安装并启动apache
    Linux下编译、安装并启动memcached
    memcached内存分配机制
    Memcached的过期数据的过期机制及删除机制(LRU)
    linux下mysql的root密码忘记----解决方案
    Linux服务管理
    Python中import机制
  • 原文地址:https://www.cnblogs.com/mazida6/p/2270219.html
Copyright © 2020-2023  润新知