面试题

最近打算换工作,于是投了几份简历

有些面试题,写出来供其他朋友看看。其实很多面试题都是重复过的,面试前多看看,会有帮助的,其实我也比较喜欢投机取巧,呵呵。

其中记忆深点的写下,基础知识考试就不写了。

 

题目1  某人上台阶,一次上2格,最后剩1个;一次上3格,最后剩2个;一次上4格,最后剩3格;一次上5格,最后剩4格;一次上6格,最后剩5格;一次上7格,刚好上完。问此楼梯最少多少格?

 

题外话:一次上6格,以为是超人呀。我最开始是从7的倍数试起,后来又想想,终于看出了一些好的方法。

 

解答:

 x % 2 = 1;

 x % 3 = 2;

 x % 4 = 3;

 x % 5 = 4;

 x % 6 = 5;

 

由上可以看出,(1) 此数为 2,3,4,5,6的公倍数减1.  即使 n*60 - 1,  (2) 此数为 7的倍数。

结果测试 n = 2时,x = 119 符合要求。

 

 

 

题目2 写出  char* strcpy( char* strDest, const char* strSource );

别说,我以前还真没有写过,练练手也好。

char* strcpy( char* strDest, const char* strSource )

{

        //  无效指针,直接返回 NULL

        if( NULL==strDest || NULL==strSource )

                 return NULL;

 

 

        // 保存返回结果

        char* strResult = strDest;

 

 

       //

       // 复制操作

       //

        while( *strSource != 0 )

        {

                 *strDest++ = *strSource++;

        }

 

 

        *strDest = 0;       // 字符串以 '/0' 结尾

 

        return strResult;

}

 

 

 

题目 3 关于sizeof操作的。只写其中一个比较具有欺骗性的。

 

void fun( char a[100] )

{

        unsigned short i = sizeof(a);

}

 

i = 4;

表面上看是个数组,其实传递过来的是个指针。

 

 

题目4  关于倒置一个单向链表的( 另外一家公司的 )。

用到递归调用,在所做的项目中,很少有此应用的,居然搞了半个小时,才搞定。

 

 

题目5 分金条:

一根7节的金条,只能被切断2次,一个员工,要求每天都要给一节作为报酬,一周7天,怎么分?

这种题目都做滥了,没有新意。分成 1,2,4,具体怎么组合看看二进制怎么组合成对应的数就可以了。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值