当前位置: 首页 > news >正文

校园招聘笔试题(B卷)

版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。 http://qq164587043.blog.51cto.com/261469/84224
转载:
前言:前几天和人力资源部的去合肥招人,出了笔试题目,笔试、面试和最终签协议全程把关,录取了几个,结果还算满意。
下面是第二天在合肥工业大学的笔试题目:
1 、论述 C 语言中含参数的宏与函数的区别和优缺点( 6 分)
点评:题目不难,但完全回答对的人其实并不多。
答案:
宏:不进行参数正确性检查,只进行简单的替换工作,占用了大量的空间。
函数:进行参数正确性的效验,占用了大量的时间。
2 C C++ 的结构体有什么区别? C++ 中的类与结构体有什么区别?( 10 分)
第二个问题出得比较多,第一个出得不多。几十份卷子回答对的没几个,让我感到很失望。
答案:
C++ 中的结构体能够定义方法,继承和重载, C 语言中的不可以。
②结构体中的成员缺省是 public 的,而类中的成员缺省是 private 的,这是 C++ 中唯一的区别
3 、以下 C 程序, j 的最终结果是多少?( 6 分)
int i=1;
int j;
j=(++i)+(++i) +(i++)+(i++)+(++i);
点评:是 moto 曾经出过的题目,其实不难,一般 C 语言学得不差的都知道。但有一点要注意的是,其实标准答案并不对,因为 C 语言中并没有规定这种运算的先后顺序,所以不同编译器的答案不同, VC6.0 VC.NET BC5.1 、和 GCC 答案不尽相同,而所谓的标准答案却和这几个编译器的结果都不同,反倒和 C# JAVA 的结果相同,因为这两个编译器严格规定了这种运算的先后顺序。我本以为没有人会回答“和编译器相关”,但让我意外的是居然有人就这样回答的,我如获至宝,但最终他的综合能力并不咋喋,还是没招进来。
4 Heap Stack 有什么差别?( 8 分)
点评:很多人把 Heap 回答成 List 的特性了,什么先进先出,莫名其妙。
答案:
Heap 在程序中是用 malloc 函数分配的,需要手动清除。 Stack 是由程序自动分配、自动清除的。
5 、详细说明 TCP 建立连接的三次握手过程。( 10 分)
点评:大致的过程 90 %的人都知道,但真正把第一次握手发送的内容回答对的寥寥无几。
6 、请写出下面 C 语言程序的输出( 7 分)
int Calc(int iValue)
{
static int iSum,iCount;
iSum += iValue;
iCount ++ ;
return iSum/iCount;
}
int main()
{
int iInput=Calc(Calc(3));
printf("Calc(Calc(3))=%d",iInput);
return 0;
}
点评:题目不难,也是网新出过的, 70 %的人回答对了,是 3
7 、一个数列 [-1,2,7,28,_ ,126 …… ] 请问 28 126 中间那个数是什么?为什么?( 8 分)
点评:这是道不难的小学数学运算题,但错的人很多,唉,没几个数学学好的。
答案:
63
规律是 n^3-1( n 为偶数 0 2 4)
n^3+1( n 为奇数 1 3 5)
8 、在操作系统中,什么是死锁?如何解决死锁?( 8 分)
点评:对死锁的解释答全的不多,解决死锁策略就更没多少人回答对了,操作系统课学好的人还是少啊!
答案:
是两个或多个进程无止境地等候着永远不会成立的条件的一种系统状态
在两个或多个并发进程中,如果每个过程持有某中资源而又都等待着别的进程释放它或他们现在白吃的资源,否则就不能向前推进。
死锁产生原因:⒈系统资源不足⒉进程推进顺序非法
产生死锁的 4 个必要条件:
①互斥条件②不剥夺条件③部分分配④环路条件
解决死锁策略:
⒈采用静态分配方法来预防死锁(静态预防)
⒉采用有控分配方法来避免死锁(动态避免)
⒊当死锁发生时检测出死锁并设法修复
9 、进程和线程的区别是什么?各有什么优点?( 10 分)
点评:搞不清进程和线程的大有人在,而回答全的就更只有 10 %。
10 SQL 试题( 12 分)
表名: test
class
name
score
1
a
75
1
b
91
1
c
54
2
d
66
2
e
75
2
f
39
2
g
42
3
h
23
3
i
98
3
j
85
其中 class name char 类型, score integer 类型。
用一条 SQL 语句查询显示每个班级分数最高的人的班级,名字和分数
点评:这题相当难,我也不指望有人能做出来,主要是看回答的时候 SQL 语句如何写的,根据情况酌情给分。答案我就不说了,明年再出。
11 、如何用两个栈实现一个队列的功能?要求给出算法和思路,可以用文字描述。( 15 分)
点评:数据结构学得还可以的人应该都没问题,但真正回答对的还不到 1/3
答案:
2 个栈为 A,B, 一开始均为空 .
入队 :
将新元素 push 入栈 A;
出队 :
(1) 判断栈 B 是否为空;
(2) 如果不为空,则将栈 A 中所有元素依次 pop 出并 push 到栈 B
(3) 将栈 B 的栈顶元素 pop 出;

本文出自 “国产0与1 ” 博客,请务必保留此出处http://qq164587043.blog.51cto.com/261469/84224

相关文章:

  • 进程与线程的一个简单解释
  • 嵌入式C开发人员的最好的0x10道笔试题
  • nullnullDefining and Launching the Query 定义和启动查询
  • IT知名公司工资一览
  • C++ const的用法
  • sourceforge开源项目
  • Winform 常用技巧
  • Keil 仿真之外设控制(System Viewer)
  • Qt 实现多文档
  • 局部特征(4)——SIFT和SURF的比较
  • 传感网和物联网的由来、进展与发展趋势
  • Linux多线程服务端编程:使用muduo C++网络库
  • 移动互联网终端策略研究
  • JavaScript中的shift()和pop()函数
  • 拿到第8期程序员杂志了,上面有我的Haskell文章
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • 【node学习】协程
  • Angular 4.x 动态创建组件
  • Effective Java 笔记(一)
  • Git 使用集
  • JavaScript 基础知识 - 入门篇(一)
  • maya建模与骨骼动画快速实现人工鱼
  • 不上全站https的网站你们就等着被恶心死吧
  • 简单易用的leetcode开发测试工具(npm)
  • 前端之Sass/Scss实战笔记
  • 设计模式走一遍---观察者模式
  • 世界上最简单的无等待算法(getAndIncrement)
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​LeetCode解法汇总2696. 删除子串后的字符串最小长度
  • ​第20课 在Android Native开发中加入新的C++类
  • (14)Hive调优——合并小文件
  • (4)logging(日志模块)
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (利用IDEA+Maven)定制属于自己的jar包
  • (三)c52学习之旅-点亮LED灯
  • (算法)求1到1亿间的质数或素数
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转载)利用webkit抓取动态网页和链接
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .gitignore文件—git忽略文件
  • .libPaths()设置包加载目录
  • .net/c# memcached 获取所有缓存键(keys)
  • .Net语言中的StringBuilder:入门到精通
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @font-face 用字体画图标
  • @TableId注解详细介绍 mybaits 实体类主键注解