编程笔试题目精选

1、用6、7、3、1四个数字(各用一次)与+、—、X、/,四运算符写一个算式,使结果为24(小学生的题目啊!)
答案:6*3+7—1=24

2、解释1NF、2NF、3NF、BCNF 

3、如何存储稀疏矩阵 
答案:三元组,十字链表

4、快排序在最好,最坏,平均情况下的时间复杂度与辅助空间复杂度
——————————————

最好复杂度   O(nlog2n)   最坏   O(n^2)   平均     O(nlog2n)
空间:最好log2n     最坏n   平均log2^n


5、小猪存钱罐,爸爸第一天给1分,第二天给2分,第三天给4分,……,到第14天满了。几天存半满?(13)
如果妈妈从第一天开始也是如此给钱,问几天存半满?(12)

——————————————
你看   (1+2=3)   <   4
          (1+2+4)   <   8
第十三天刚好是2^13-1个钱,第十四天给的是2^13个钱   呵呵,这么多钱差不差那一个都差不多吧



6、ALPHA与BETA测试的不同

——————————————
Alpha测试:一种先期的用户测试,此时系统刚刚开发完成。
Beta测试:一种后期的用户测试,此时系统已经通过内部测试,大部分错误已经改正,即将正式发行。同Alpha测试一样都由用户进行,场地不同,Alpha测试一般是把用户请到开发方的场地来测试,Beta测试是指在一个或多个用户的场所进行测试。

7、什么是压力测试?
——————————————
就是在程序设计完成之后进行测试时,通过在大数据、大运算量、大流量等压力下进行测试,
看程序是否依然能稳定运行,有效处理。

8、有四个选项,A、B、C、D,值只有true,false两种情况,其中若A为true,则B一定为ture,问一共有多少种测试,可覆盖全部的情况?
AB之间是3种,cd之间是4种情况
那么是不是要有3×4种?

9、你认为是否应该用工具来managing   change?有哪些工具?
不懂

10、How   do   we   test   most   simply   if   an   unsigned   integer   is   a   power   of   two?
测越界?
#define   is_power_of_2(x)   ((((x)-1)   &   (x))   ==   0)


11、写一个方法实现冒泡排序
 

void bubble_sort(JD r[],int n)
{ int m,i,j,flag=1;
   JD x;
   m=n-1;
   while((m>0)&&(flag==1))
   { flag=0;
      for(j=1;j<=m;j++)
        if(r[j].key>r[j+1].key)
        { flag=1;
           x=r[j];
           r[j]=r[j+1];
           r[j+1]=x;
        }
      m--;
    }
}

 

12、走廊A与走廊B相交处是直角(拐角)C为矩形物体,设计算法,判断C是否可以从拐角通过?
矩形还是立方体啊~   呵呵
那只要长宽高小于走廊的宽度不久可以啦


========================
1、不用任何变量交换a,b两个变量 
       a = 1;
       b = 2;

       a = a + b; // a = 3
       b = a - b; // b = 1
       a = a - b; // a = 2


2、用递归求最大公约数

#include   <iostream>
using   namespace   std;
//   求两个整型数的最大公约数
int   gcd(   int   a,   int   b   )
{
    int   temp   =   2;                         //   公因子,从2开始递增直到两个数中最小的一个
    while   (temp   <=   (a   <   b   ?   a   :   b))
    {
        if   (a   %   temp   ==   0   &&   b   %   temp   ==   0)
        {                                             //   都能被整除时递归
            return   temp   *   gcd(   a   /   temp,   b   /   temp   );
        }
        else
        {                                             //   有一个不能被整除则公因子加一
            temp++;
        }
    }
    return   1;                                 //   最大公因子为1
}

3、举一个多态的例子
通过一个父指针或者父引用指向子对象,然后调用在父类定义,在子类中又覆盖实现了的虚函数,这样调用的时候,会根据指针指向的具体对象类型,调用该对象所在类中实现的函数。
比如
#include     <iostream>
class     A
{
  puplic:
        virtual   void     f(){     std::cout < < "A ";}
};

class       B   :public     A
{
    public:
        void       f()   {     std::cout < < "B ";}
};

int     main()
{
    A       *     pa;
    pa     =   new   B;
    pa-> f();       //   结果会输出B
}


4、asp和asp.net的区别
(除了编译和解释外...)

       1、开发语言不同;2、运行机制不同;3、开发方式不同

5、JAVA中的interface   和   abstract   class区别 
     

        abstract class是抽象类。它声明了方法,而且可以有属性,但它的方法不实现,主要创建一个体现基本行为的类。不能创建类的实例。它的子类来实现它的方法,若子类也没有实现,那么这个子类也是抽象类。
interface是接口,在接口中,所有的方法都是抽象的,一个类可以继承多个接口,接口中不能有属性。


6、logic   thinking:如何证明一个电冰箱是否是好的。
         跑到冰箱里面蹲着,看看冷不冷

7、设计一个算法判断一个字符串是否是回文,并写出代码。
"A   man   a   plan   a   canal   panama "是回文。

-------------------------------------------------------

当字符串长度是0或1的时候是回文
或当字符串开头的字符等于结尾的字符,且剩下的字串是回文
基于上述可以构造一个递归算法
static boolean is回文(String s)
{
    //不检查null,自己检查去.
    int len = s.length();
    if(len == 0 || len == 1)
        return true;
   
    char first = s.charAt(0);
    char last = s.charAt(len-1);
    if(first != last)
        return false;
    return is回文(s.substring(1, s.Length()-1);
}



8、请设计一个类,使其只能产生一个实例

    class Singleton
    {
        /*---方法一*/
        private static   Singleton instance;
        private Singleton() { }

         public static Singleton Instance
        {
            get
            {
                if(instance == null)
                {
                    instance =new Singleton();
                }

                return instance;
            }
        }

    }

9、工厂模式示意代码 

 


 

 

 

你可能感兴趣的:(职场,笔试,休闲)