今天参加了华为的笔试,做技术的,考的东西涉及比较广主要包含了以下九 个部分: 计算机系统 数据结构 面向对象编程 C/C++ 软件工程 操作系统 数据库系统 计算机网络 无线通信 虽然除了无限通信以外都学过,不过都还给老师了所以今天做的很差, 丢人啊 看来做技术的话还是得把大学学过的东西稍微复习一下 一一 选择选择 13 个题目,没有全部抄下来,涉及的课程有电路,模拟电路,数字电路,信号 与系统,微机原理 ,网络,数字信号处理 有关于 1.微分电路 2.CISC,RISC 3.数据链路层 二二 填空填空 10 个题目,没有全部抄下来,涉及的课程有电路,模拟电路,数字电路,信号 与系统,微机原理 ,网络,数字信号处理有关 1.TIC6000 DSP 2.二极管 3.RISC 4.IIR 三三 简答简答 1.x(t)的傅立叶变换为 X(jw)=$(w) $(w-PI) $(w-5) h(t)=u(t)-u(t-2) 问: (1),x(t)是周期的吗? (2),x(t)*h(t)是周期的吗? (3),两个非周期的信号卷积后可周期吗? 2.简述分组交换的特点和不足 四四 分析设计分析设计 1.波形变换题目 从正弦波->方波->锯齿波->方波,设计电路 2.74161 计数器组成计数电路,分析几进制的 3.用 D 触发器构成 2 分频电路 4.判断 MCS-51 单片机的指令正确还是错误,并指出错误原因 (1) MUL R0,R1 (2) MOV A,@R7 (3) MOV A,#3000H (4) MOVC @A DPTR,A (5) LJMP #1000H () 5.MCS-51 单片机中,采用 12Mhz 时钟,定时器 T0 采用模式 1(16 位计数器), 请问在下面程序中, p1.0 的输出频率 MOV TMOD,#01H SETB TR0 LOOP:MOV TH0,#0B1H MOV TL0,#0E0H LOOP1:JNB TF0,LOOP1 CLR TR0 CPL P1.0 SJMP LOOP 第一部分,不定向选择 第二部分,填空题 1. 什么是 UML?分哪两类? 2. OS 一般的两种进程调度策略 3. 进程间的四种通讯方式 4. 一棵二叉树的前序,中序,后序遍历结果 第三部分,问答题 1. 通常递归所采用的数据结构?递归和循环的区别? 2. 将一个单链表逆序。
3. A,B,C,D 四个进程,A 向一个缓冲区写数据,B,C,D 从该缓冲区读数据,A 要 等到 B,C,D 都已经读好才能写下一个用 p,v 操作实现通讯 4. C 程序写运行结果 class A { public: void f1() { printf(“A::f1\r\n“); } virtual void f2() { printf(“A::f2\r\n“); } void callfunc() { printf(“A::callfunc\r\n“); f1(); f2(); } }; class B :public A { public: void f1() { printf(“B::f1\r\n“); } void f2() { printf(“B::f2\r\n“); } void callfunc() { printf(“B::callfunc\r\n“); f1(); f2(); } }; int main() { B *pB=new B; pB->callfunc(); A *pA=pB; pA->callfunc(); return 0; } 前面已经有人写了,hehe,我写一下稍微详细的版本: 中断优先级排序 补码补码:写出 0,-1,-5 的二进制补码 递归的优缺点递归的优缺点;写程序的结果;求出一个学生成绩数组的 max,min 和 average 的值 网络知识网络知识:路由器的作用,DNS 的原理 项目开发项目开发:软件流程,瀑布模型;黑盒测试 数据库数据库:创建一个数据库,创建一个表,包含主键,索引。
操作系统操作系统:进程调用,死锁,页面置换 无线通信无线通信:CDMA 的软容量(6 分); CDMA 的反向闭环功率控制原理(7 分); CDMA 的关键技术(7 分)这三个题我都不会写 :( 还有两个故事(情景题),来测试你对团队的管理制度的看法;还有你的 意见和 权威冲突的时候,你的立场 一、判断题(对的写 T,错的写 F 并说明原因,每小题 4 分,共 20 分) 1、有数组定义 int a[2][2]={{1},{2,3}};则 a[0][1]的值为 0 ) 2、int (*ptr) (),则 ptr 是一维数组的名字 ) 3、指针在任何情况下都可进行>, =, <=, = =运算 ) 4、switch(c) 语句中 c 可以是 int, long, char, float, unsigned int 类型 ( ) 5、#define print(x) printf("the no, "#x",is ") 二、填空题(共 30 分) 1、在 windows 下,写出运行结果,每空 2 分,共 10 分 char str[ ]= "Hello"; char *p=str; int n=10; sizeof(str)=( ) sizeof(p)=( ) sizeof(n)=( ) void func(char str[100]) { } sizeof(str)=( ) 2、void setmemory(char **p, int num) { *p=(char *) malloc(num);} void test(void) { char *str=NULL; getmemory( strcpy(str,"hello"); printf(str); } 运行 test 函数有什么结果?( )10 分 3、设 int arr[]={6,7,8,9,10}; int *ptr=arr; (ptr++)+=123; printf("%d,%d",*ptr,*(++ptr)); ( ) 10 分 二、编程题(第一小题 20,第二小题 30 分) 1、 不使用库函数,编写函数 int strcmp(char *source, char *dest) 相等返回 0,不等返回-1; 2、 写一函数 int fun(char *p)判断一字符串是否为回文,是返回 1,不是返 回 0,出错返回-1 我来回忆吧 FPGA和ASIC的区别 什么是 ROM,SRAM,DRAM,特点 给出ASIC的流程让你排序 什么是“线与”逻辑,需要注意什么 137的二进制,八进制,十六进制 卡洛图化简 有四种复用方式,频分多路复用,写出另外三种 三位数据分别写出奇校验和偶校验,并画出实现电路 连续接收三个1输出 z=1,其余皆输出0,要求画出 mealy 状态机 给出一个电路描述其功能,并画出波形 最后一道题编代码写出分频电路,占空比分别为 1:1,1:3,3:5,1:15 大致这么多,漏掉的大家补上吧 昨晚上半夜 12 点多发来短信,说今天中午 1 点钟笔试,时间一小时。
唉,已经 连续 3 天笔 试了,觉得都有点儿麻木了,考试就是机械的做题,会就会,不会 就瞎答,呵呵昨晚 听了他们的宣讲,不是很想去,做低端路由器的,虽然公 司发展得蛮快的小硕税前 580 0,年底有奖金,越早能去越好因为有个同 学在里面实习,居然周六还要加班,据说很累,从华为分出来的,能不累么, sigh 至于考试题,没有仔细记,主要是 1 个小时时间有点儿紧,10 道选择,大 多数是 C 的,50 分,然后两题填空,20 分,第二题不是编程,是 个数学题 第三部分写两个函数,30 分,第一题是把一个 unsigned long 的数转成一个 IP 地址输出,应该很容易的,结果自己想复杂了,浪费了不少时间,最后还没做 对,晕第二题是两个长度为 N 的数字字符串 相加,结果保存在一个长度为 N+1 的字符串里,思路倒是很清楚,后来发现好像在处理进 位和前一位的和的 时候还有进位的问题,但是懒得改了,就这样吧最后一部分是附加 题,10 题选择,20 分,内容主要是和 IP 网络有关的,因为它们就是做这个的,呵呵, 不 会的就凭感觉了 第一次做完题都没任何想法,可能不太想去吧,所以当成个任务了,也许 又会被 b4 吧,呵呵,无所谓了。
晚上又有上海贝尔阿尔卡特的宣讲,都懒得 去了,网上投了个岗 位,地点都是在上海的,BUPT 被划为二类学校,落户都 很成问题,实在没什么兴趣。