+ -
当前位置:首页 → 问答吧 → 九城面试题,应该让大家看看(特别是比较自信的phper)

九城面试题,应该让大家看看(特别是比较自信的phper)

时间:2010-07-13

来源:互联网



请指出以下程序的运行结果和可能存在的错误:

  1. function replace_in_array($search,$replacement,$array){
  2.     $map=function ($text) use ($search,$replacement){
  3.         if (strpos($text,$search)>10){
  4.             return str_repalce($search,$replacement,$text);
  5.         }else{
  6.             return $text;
  7.         }
  8.     };
  9.     return array_map($map,$array);
  10. }
  11. echo replace_in_array(
  12.     $search="a",
  13.     $repalcement="A",
  14.     $array=new array("edcba54321edcba54321"=>"12345abcde12345abcde")
  15. )
复制代码


请指出以下程序的运行结果和可能存在的错误:

  1. <style>
  2. div.bg{background:#ffc20e;width:50%} b{display:block}
  3. div b.topb b,div b.tottomb b{height:1px;overflow:hidden;backgound:#ffc20e}
  4. div b.topb,div b.bottomb{background-color:white}
  5. b.t1{margin:0 5px} b.t2{margin:0 3px}
  6. b.t3{margin:0 2px} b.t4{margin:0 1px;height:2px}
  7. </style>
  8. <div align="center">
  9.     <div class="bg">
  10.         <b class="topb">
  11.             <b class="t1"></b><b class="t2"></b><b class="t3"></b><b class="t4"></b>
  12.         </b><br/>
  13.         <b class="">
  14.             <b class="t4"></b><b class="t3"></b><b class="t2"></b><b class="t1"></b>
  15.         </b>
  16.     </div>
  17. </div>
复制代码


请指出以下程序的运行结果和可能存在的错误:
  1. create table t1 (col1 varchar2(200) not null, col2 varchar2(100));
  2. create table t2 (col1 varchar2(200) not null, col2 varchar2(100));
  3. insert into t1 values("5");
  4. insert into t1 values("4","3");
  5. insert into t1 values("3","3");
  6. insert into t2 select TO_CHAR(rownum+1),col2 from t1;

  7. select * from t1 join t2 on t1.col1=t2.col1 and t1.col2==t2.col2 where t1.col2!=t2.col2
复制代码

请指出以下程序的运行结果和可能存在的错误:
  1. class c
  2. {
  3. private:
  4.     std::string _value;
  5. public:
  6.     static std::string a="yellow", b="green", c="brown";
  7.     c(std::string value) : _value(value) {};
  8.     template<class T>
  9.     T & operator < (const T & left,const T & right){
  10.         return &left > &right ? left :right;
  11.     }
  12. }
  13. std::vector<class c> vec;
  14. void func_sort(void)
  15. {
  16.     c c_array[4] = {new c(c::c), new c(c::b), new c("red")};
  17.     vec.assign(c_array);
  18.     std:sort(vec.begin(), vec.end(), _1=(_1<c_array[3]));
  19.     for_each(vec.begin(),vec.end(),cout<<_1);
  20. }
复制代码

作者: renwuxun   发布时间: 2010-07-13

找出错误,写出结果,你能搞定几题?。。。

作者: renwuxun   发布时间: 2010-07-13

认真研究

作者: fkj   发布时间: 2010-07-13

搞那么复杂干吗呢?

作者: hobbs136   发布时间: 2010-07-14

何谓正确?何谓错误?

作者: ggggqqqqihc   发布时间: 2010-07-14

各方面都考到了

作者: garygay   发布时间: 2010-07-15



只关心PHP呵呵,所以第一题我觉得应改为:
function replace_in_array($search,$replacement,$array){
    function map ($text,$search,$replacement){
        if (strpos($text,$search)>10){
            return str_repalce($search,$replacement,$text);
        }else{
            return $text;
        }
    };
    return array_map("map",$array);
}
echo replace_in_array(
    $search="a",
    $repalcement="A",
    $array=array("edcba54321edcba54321"=>"12345abcde12345abcde")
);
错误一:map函数定义错误
错误二:array_map函数调用的第一个参数有误
错误三:replace_in_array函数第三个参数初始化数组时有误,不要new
错误四:最后echo一句少个分号
不知道对不对,欢迎拍砖!

作者: 5650137   发布时间: 2010-07-15

回复 5650137


    你难道没见过匿名函数,哪里错误了?

str_replace拼错了倒是真的

作者: 四不象   发布时间: 2010-07-15

T & operator < (const T & left,const T & right){

应为

bool operator () (const T & left,const T & right){

作者: 四不象   发布时间: 2010-07-15

第一个程序的问题就是为嘛用echo输出数组?脑残么,还有php的数组什么时候变成对象了....还可以new一下,其他的貌似没问题
第二段代码哥不想做评价,div+css写到这个程度基本上就可以去死了
第三段代码关键字全都没有大写,属于编码规范问题,另外表联接用的也有问题,on的条件是相等,where里又限定不相等,怎么执行也不会有结果
第四段代码貌似是c++的,看不懂,飘过

作者: qxhy123   发布时间: 2010-07-16

很感兴趣。留个记号

作者: eval0   发布时间: 2010-07-16

第一题暂未看,第二题写成那样确实不应该再活下去。
简直是画蛇添足,脱裤子放屁,太无言了。

作者: Hmily   发布时间: 2010-07-16

$map=function ($text) use ($search,$replacement){

参数个数不对应吧
insert into t1 values("5");字段不对应
varchar2(100)mysql没有varchar2数据类型
t1.col2==t2.col2 where t1.col2!=t2.col2逻辑冲突
std:sort(vec.begin(), vec.end(), _1=(_1<c_array[3]));操作符重载不错

作者: witer666   发布时间: 2010-07-17

这么快就PHP5.3+了?

作者: laruence   发布时间: 2010-07-17

第一个程序的问题就是为嘛用echo输出数组?脑残么,还有php的数组什么时候变成对象了....还可以new一下,其他的 ...
qxhy123 发表于 2010-7-16 11:32



    ++

作者: cslgpl   发布时间: 2010-07-17