隨筆-8  評(píng)論-8  文章-10  trackbacks-0
          javascript題
          1.使用javascript創(chuàng)建一個(gè)矩形類
          類中的屬性:
          名稱 name
          顏色 color
          寬度 width
          高度 height
          提供完整的構(gòu)造方法
          提供一個(gè)計(jì)算面積的方法 getArea()
          答案:
          function Rectangle(name,color,width,height){
                  
          this.name = name;
                  
          this.color = color;
                  
          this.width = width;
                  
          this.height = height;
               
          this.getArea = function(){
                      
          return this.width*this.height;
                  }

              }

          //測(cè)試代碼
          var t = new Rectangle('test','red',5,5);
          alert(t.getArea());

          注:矩形  rectangle
              三角形 triangle

          2.解釋with關(guān)鍵字的用法

          with 語(yǔ)句 為一個(gè)或一組語(yǔ)句指定默認(rèn)對(duì)象。

          用法:with (<對(duì)象>) <語(yǔ)句>;

          with 語(yǔ)句通常用來(lái)縮短特定情形下必須寫的代碼量。在下面的例子中,請(qǐng)注意 Math 的重復(fù)使用:

              x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10);
              y = Math.tan(14 * Math.E);

          當(dāng)使用 with 語(yǔ)句時(shí),代碼變得更短且更易讀:

              with (Math) {
                x = cos(3 * PI) + sin(LN10);
                y = tan(14 * E);
              }
          注:with語(yǔ)句是運(yùn)行緩慢的代碼段,尤其是在已設(shè)置了屬性值時(shí)。大多數(shù)情況下如果可能,最好避免使用它。


          3.使用javascript DOM模型 創(chuàng)建table  2行2列
          a.寫出新增和刪除行方法
          b.寫出修改列內(nèi)容的方法
          c.對(duì)表格進(jìn)行排序

          答案:

          var mytab = null;
           
          function createTab(){
                  mytab 
          = document.createElement("table");
                  mytab.border 
          = "1px";
                  document.body.appendChild(mytab);
                  
          var mytr = mytab.insertRow();
                  
          var mytd = mytr.insertCell();
                  mytd.innerText
          ="c";
                  mytd 
          = mytr.insertCell();
                  mytd.innerText
          ="b";

                  mytr 
          = mytab.insertRow();
                  mytd 
          = mytr.insertCell();
                  mytd.innerText
          ="a";
                  mytd 
          = mytr.insertCell();
                  mytd.innerText
          ="d";
                  
                  
          //insertTR(1);
                  //deleteTR(1);
                  //updateCell(1,1,"xx");
                  //排序0列
                  //sortTable(0);
              }

              
          //新增行方法
           function insertTR(rowIdx){
                  window.mytab.insertRow(rowIdx);
              }

              
          //刪除行方法
           
          function deleteTR(rowIdx){
                  window.mytab.deleteRow(rowIdx);
              }

              
          //更新列內(nèi)容
           function updateCell(rowIdx,colIdx,content){
                  window.mytab.rows[rowIdx].cells[colIdx].innerText 
          = content;
              }

              
          //表格排序
           function sortTable(colIdx){
                  
          var colDataRows = mytab.rows;
                  
          var allTrs = new Array;

                  
          for(var i=0; i<colDataRows.length; i++){
                      allTrs.push(colDataRows[i]);
                  }


                  allTrs.sort(genrateCompare(colIdx));
                  
                  
          var o = document.createDocumentFragment();
                  
          for ( var i=0; i<allTrs.length; i++){
                      o.appendChild(allTrs[i]);
                  }

                  mytab.tBodies[
          0].appendChild(o);
              }


              
          function genrateCompare(colIdx){
                  
          return function compareTRs(tr1,tr2){
                      
          var value1 = tr1.cells[colIdx].innerText;
                      
          var value2 = tr2.cells[colIdx].innerText;
                      
          return value1.localeCompare(value2);
                  }
          ;
              }








          數(shù)據(jù)庫(kù)題:
          1.在Person表有以下字段
          id
          name    人員姓名
          deptno    部門號(hào)
          pdate    入職時(shí)間

          每新來(lái)一個(gè)員工就新增一條數(shù)據(jù)
          當(dāng)員工換部門的時(shí)候也新增一條數(shù)據(jù)
          要求:
          a。查出'2008-08-01'這天入職的人
          b.查出'abc'部門現(xiàn)有的員工資料
          sql腳本:
          mysql

          create table Person(
              id 
          int primary key,
              name 
          varchar(32),
              deptNo 
          varchar(32),
              pdate date
          );

          insert into person (id,name,deptNo,pdate) values(1,'illu','abc','2008-08-01');
          insert into person (id,name,deptNo,pdate) values(2,'satan','ab','2008-08-01');
          insert into person (id,name,deptNo,pdate) values(3,'bob','abc','2008-08-01');
          insert into person (id,name,deptNo,pdate) values(4,'illu','ab','2008-08-03');
          insert into person (id,name,deptNo,pdate) values(5,'satan','abc','2008-08-03');

          oracle
          create table Person(
              id 
          int primary key,
              name 
          varchar(32),
              deptNo 
          varchar(32),
              pdate date
          );

          insert into person (id,name,deptNo,pdate) values(1,'illu','abc',to_date('2008-08-01','yyyy-mm-dd'));
          insert into person (id,name,deptNo,pdate) values(2,'satan','ab',to_date('2008-08-01','yyyy-mm-dd'));
          insert into person (id,name,deptNo,pdate) values(3,'bob','abc',to_date('2008-08-01','yyyy-mm-dd'));
          insert into person (id,name,deptNo,pdate) values(4,'illu','ab',to_date('2008-08-03','yyyy-mm-dd'));
          insert into person (id,name,deptNo,pdate) values(5,'satan','abc',to_date('2008-08-03','yyyy-mm-dd'));
          答案
          mysql
          a:
          select * from person where pdate=date('2008-08-01');

          b:
          select p.name,p.deptno from
          (
          select max(id)bid,name from person group by name) b
          left join person p
          on p.id=b.bid where p.deptno='abc';

          oracle
          a:
          select * from person where pdate=to_date('2008-08-01','yyyy-mm-dd');

          b:
          select p.name,p.deptno from
          (
          select max(id)bid,name from person group by name) b
          left join person p
          on p.id=b.bid where p.deptno='abc';

           2.存儲(chǔ)過(guò)程和函數(shù)的區(qū)別
          答案
          1.    一般來(lái)說(shuō),存儲(chǔ)過(guò)程實(shí)現(xiàn)的功能要復(fù)雜一點(diǎn),而函數(shù)的實(shí)現(xiàn)的功能針對(duì)性比較強(qiáng)。
          2.    對(duì)于存儲(chǔ)過(guò)程來(lái)說(shuō)可以返回參數(shù),而函數(shù)只能返回值或者表對(duì)象。
          3.    存儲(chǔ)過(guò)程一般是作為一個(gè)獨(dú)立的部分來(lái)執(zhí)行,而函數(shù)可以作為查詢語(yǔ)句的一個(gè)部分來(lái)調(diào)用,由于函數(shù)可以返回一個(gè)表對(duì)象,因此它可以在查詢語(yǔ)句中位于FROM關(guān)鍵字的后面。
           4.    當(dāng)存儲(chǔ)過(guò)程和函數(shù)被執(zhí)行的時(shí)候,SQL Manager會(huì)到procedure cache中去取相應(yīng)的查詢語(yǔ)句,如果在procedure cache里沒(méi)有相應(yīng)的查詢語(yǔ)句,SQL Manager就會(huì)對(duì)存儲(chǔ)過(guò)程和函數(shù)進(jìn)行編譯。




          每天進(jìn)步一點(diǎn)點(diǎn)

          posted on 2008-08-07 15:03 應(yīng)越 閱讀(399) 評(píng)論(1)  編輯  收藏 所屬分類: 面試

          評(píng)論:
          # re: 宇易通西安研發(fā)部面試題 2011-12-21 15:15 | www
          你感覺(jué)這家公司如何呢?  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 万山特区| 泾川县| 贵港市| 两当县| 共和县| 永州市| 晋宁县| 台南县| 绥芬河市| 丰城市| 肇源县| 兴山县| 荆州市| 阜新| 香格里拉县| 昆山市| 兴文县| 辰溪县| 东山县| 界首市| 河津市| 怀安县| 子长县| 罗田县| 通州区| 田林县| 晋中市| 资源县| 额济纳旗| 福泉市| 确山县| 昌吉市| 宁明县| 翁牛特旗| 隆回县| 元谋县| 景泰县| 阿荣旗| 土默特左旗| 马龙县| 彝良县|