编程笔试题目精选

 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、工厂模式示意代码 

 


 

 

 

你可能感兴趣的:(算法,职场,休闲,数据架构)