1、智力题:有一堆扑克牌(具体哪个花色有哪些牌忘了),老师抽出一张来之后,告诉学生A这张牌的花色,告诉B这张牌的大小。然后A说:我不知道这张牌是什么。B说:我就知道你不知道这张牌的大小。
A说:现在我知道了。B说:现在我也知道了。问:这张牌到底是什么?
2.有11个乒乓球,有一个是伪劣产品,该产品较轻,现在有个没有砝码的天平,至多只称三次就能找出伪劣的产品。求怎么称。
先左右各五个,如果一样重则剩余的那个是伪劣产品,否则取较轻一端的五个,将这五个各取两个放在天平两端,如果一样重则剩余的为假,否则取较轻的一端的两个放在天平两侧,较轻的为假。
3.指针和引用区别(两点以上)
1 引用必须在声明时初始化,而指针不用; 2 对于NULL不能引用,而指针可以指向NULL; 3 引用一旦声明,对象不能改变;而指针可以随时改变指向的对象。 引用能做到的,指针也可以,但指针更危险; 引用主要功能是传递函数的参数和返回值;
4.写一个函数判断该系统是大端还是小端?
#include <iostream> using namespace std; //共用体存储的方式是从低地址开始存放。 //object.a=0xf0f1f2f3; // // union A { unsigned char b; unsigned int a; }; int main() { A object; object.a=0xf0f1f2f3; if((int)object.b==0xf3) { cout<<hex<<object.a<<endl; cout<<hex<<(int)object.b<<endl; cout<<"小端模式!"<<endl; } else { cout<<object.a<<endl; cout<<object.b<<endl; cout<<"大端模式"<<endl; } return 0; }
5.定义一个128位整形的类Int28,并实现一个函数,该函数判断一个Int128是不是素数
6.已知一个普通二叉树,写一个函数实现由普通二叉树到搜索二叉树的转换。
7.列举你知道的IPC
1)消息队列。2)管道。3)信号量。4)共享内存。5)socket套接口
8.列举TCP服务器端有哪些API函数,如果这些函数的调用是有前后关系的,请按照顺序列举
socket()→bind()→listen→accept()→recv()/send()→closesocket()
9.举例说明MVC模式。
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法,这个方法的假设前提是如果业务逻辑被聚集到一个部件里面,而且界面和用户围绕数据的交互能被改进和个性化定制而不需要重新编写业务逻辑MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。[1] MVC开始是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。