1、用一个宏定义FIND求一个结构体CTYPE里某个变量CNUM相对了CTYPE地编移量.如:stuct student int a。 char b20。 double ccc。 则:FIND(student,a。 /等于0FIND(student,b)。/等于4二楼地可以.#define FIND(type,member (int(&( (type*0-member struct student int a。 char b20。 double ccc。int main(int argc,char* argv int i=FIND(student,a。 /等于0 i=FIND(student,b。
2、/等于4 return 0。调试结果是对地.题目出得很好:其实就是考下这个宏 offsetof ,定义在文件 stddef.h 中.#define offsetof(TYPE, MEMBER (size_t &(TYPE *0-MEMBERTYPE是某struct地类型 0是一个假想TYPE类型struct,MEMBER是该struct中地一个成员. 因为该struct地基地址为0, MEMBER地地址就是该成员相对与struct头地址地偏移量.再往深处,接触过Linux Kernel地会知道这个宏 container_of,就嵌套了宏offsetof ,其在Linux Kernel中地应用非
3、常广泛,它用于获得某结构中某成员地入口地址.1.运放求放大倍数地 2.三极管基础知识放大区,截至区,饱和区)3.并联RC变换成串联RC4.运放求反馈地5.单片机和74hc595硬件连接和编程6.数据结构-队列,建立一个队列,写数,读数.一简答题进制转换单片机C51用idata 及xdata定义变量地存放区域及其汇编指令位运算置位清零取反)二求运放地电压增益三史密特触发电路地求出高低电压阈值及回滞电压依据输入电压画出输出电压波形四用门电路设计格雷码转换为自然二进码电路,要求画出电路图五二进触发器狗成地同步电路要求写出驱动方程,状态方程,输出方程,画出状态转移图六用单片机实现从串口读取四字节地数与
4、固件中地四字节地常数比较,若相等,暂停后控制电机工作继续读取,比较要求画出电路及写出代码七一个比特地数,要求编写一端程序实现位倒序功能前两天参加了周立功武汉站笔试和机试,先贴部分题目出来,希望对其他地方想应聘周立功地同学有所帮助.一、笔试卷1、在进程中通信地手段不包括)A:油槽 B:管道 C:文件映射 D:信号量2、在C语言中,下面哪些是定义(int 。3、传统地快速排序算法,在最坏情况下地时间复杂度是多少?A:O(nlog(n B:O(log(n C:O(n*n D:O(n*n*n4、下面是合法地浮点数指数格式地是 B:O(2n C:O(log(2n D:O(nlog(2n6、以下程序运行时
5、将在哪一行死掉 struct SS s。 int *p=&s.i。 p0=3。 p1=3。 s.p=p。 s.p1=1。 s.p0=2。 A: B: C: D: 7、以下程序地运行结果是 u.c=100。 printf(%dn,u.s.c3。 return 0。 8、编写一个简单地C函数指针声明_.9、有5个盒子,分别装了1、4、8、32、64个球,如果将它们任意组合(至少一个,所有可能值中最中间地一个值是_.10、如果处理器是little_endian地,请写出0x1234在存储时候地字节序_.一、简答题.二进制、十进制、BCD码间转换.单片机C51用idata 及xdata定义变量地存放区
6、域及其汇编指令.位运算指令置位清零取反)二、求运放地电压增益就是一个反相比例运放地变异题,只要懂虚短虚断就OK)三、1.史密特触发电路地高低电压阈值及回滞电压2.依据输入电压波形画出输出电压波形四、用门电路设计格雷码转换为自然二进码电路(给出格雷码状态图),要求画出设计电路图五、触发器构成地同步电路要求写出驱动方程,状态方程,输出方程,画出状态转移图)六、用单片机实现从串口读取四字节地数与固件中地四字节地常数比较,若相等,控制继电器闭合,延时否则继续读取,比较 要求画出电路及写出代码建议用51)七、一个比特地数,要求编写一端程序实现位倒序功能如:a=b0b1b2b3b4b5b6b7,编程实现a
7、=b7b6b5b4b3b2b1b0,还有汇编程序。咱也不怕丢脸一四还可以,二三实在不记得了,好久没看BOOK了。用AVR久了,51又模糊了。真希望在找工作地同行多看BOOK呀,本来很简单地,很可能一下就忘记了! 9.20号去南航参加周立功地招聘会,人会很多,很多外地赶过来地.9点半宣讲会,10点半笔试,我考地是软件卷,共五道题1 括号匹配问题,这题目比较经典,利用堆栈2 实现一个将字符串去掉特定字符地函数3 计算二叉树总节点数 以及单链表地反转 都是基础题4 是一个C+题目,给出一段代码,找错5古代数学算法:133=33 = 33 提取1233=66 = 33+33433=132= 66+66
8、833=264= 132+132 提取8933=297=33+264然后有三个小题a.推理除法运算;b.写出乘法运算地函数;c.写出除法运算地函数总地来说题目不难,都是基础题.题:用任意一单片机设计一个4X4地键盘并编出程序得到键值,要求有去抖,去抖时单片机可以做其它事情,按一下键盘蜂鸣器叫一下,蜂鸣器叫过程中也要单片机可以做其它事情. interrupt 5 using 2 EA=0。 TF2=0。 /清中断标志位 if(spcnt-=0spcnt=0。SPEAK=0x00。 if(scankey(count+。 if(count8getkeyval(。count=0。spcnt=30。SP
9、EAK=0xff。 else count=0。 EA=1。思路是:连续n次进入中断时都检测到有按键,那就去取按键值,并使蜂鸣器叫,蜂鸣器叫多长时间由spcnt地值决定.实验源程序:#include mydef.h/定义外围器件地址#define SPEAK XBYTE0xC000#define KEYIN XBYTE0xE000#define KEYOUT XBYTE0xF000#define PORTA XBYTE0xa000#define PORTB XBYTE0xb000#define LEDD XBYTE0x9000/3000个机器周期中断一次#define TIME_H (65535
10、-3000/256#define TIME_L (65535-3000%256/LED显示译码uchar code table=0x0C0,0x0F9,0x0A4,0x0B0,0x99,0x92,0x82,0x0F8,0x80,0x90,0x88,0x83,0x0C6,0x0A1,0x86,0x8E,0x7F,0x89。/全局变量uchar key_value,count,spcnt。/判断有无按键uchar scankey( KEYOUT=0x00。 if(KEYIN&0x0f!=0 return(1。 /有键按下 else return(0。 /得到键值void getkeyval(voi
11、d KEYOUT=0x0e。 switch(KEYIN&0x0f case 14:key_value=0。break。 case 13:key_value=1。break。 case 11:key_value=2。break。 case 7:key_value=3。break。 default:break。 KEYOUT=0x0d。 switch(KEYIN&0x0f case 14:key_value=4。break。 case 13:key_value=5。break。 case 11:key_value=6。break。 case 7:key_value=7。break。 default
12、:break。 KEYOUT=0x0b。 switch(KEYIN&0x0f case 14:key_value=8。break。 case 13:key_value=9。break。 case 11:key_value=10。break。 case 7:key_value=11。break。 default:break。 KEYOUT=0x07。 switch(KEYIN&0x0f case 14:key_value=12。break。 case 13:key_value=13。break。 case 11:key_value=14。break。 case 7:key_value=15。br
13、eak。 default:break。 /定时T2中断 89c52,w78e58之类地单片机都有定时器2void time1_sv( interrupt 5 using 2 EA=0。 TF2=0。 /清中断标志位 if(spcnt-=0spcnt=0。SPEAK=0x00。 if(scankey(count+。 if(count8getkeyval(。count=0。spcnt=30。SPEAK=0xff。 else count=0。 EA=1。/粗劣延时mS级void msec(uint x unsigned int j。 while(x-!=0 for(j=0。j 。 /数码管显示voi
14、d dir(uchar leddat ORTA=0x00。 ORTB=0xff。 LEDD=tableleddat。 msec(2。 ORTA=0xff。 LEDD=tableleddat。 ORTB=0x00。 msec(2。 ORTB=0xFF。/主函数main( C_T2=0。 /T2工作在定时器 CP_RL2=0。 /自动装栽 RCAP2H=TH2=TIME_H。 RCAP2L=TL2=TIME_L。 EA=1。 ET2=1。 TR2=1。 while(1 dir(key_value。 2007年11月21日今天是第一次参加笔试,广州周立功公司.14:30开始宣讲,17点结束.主要还是
15、说了自己企业如何如何.18点开始在长春大学13层地1楼阶梯教室进行笔试.(之前他们说,他们准备了10套卷子,天津某某大学教授出题B套卷子.16开纸2张,正反面.一.有用二极管搭接地电路2个,分别是与门和或门.三极管搭接地就是非门了.二.然后就是典型地三角形地放大电路,给出电压电阻,求解输出.三.级联型地斯密特触发器,给出第一个触发器输出波形,要求画出输入和第二个斯密特出发器地输入与输出波形.四.四个二极管和四个三极管搭接地桥型电机驱动电路, 控制四个三极管地C,用单片机写出程序.和四个二极管作用,还有2个接在电源上地电容地作用.五.嗷嗷复杂地一个题,一堆电阻4个开关,接到了第一个放大器地+和-
16、,输出接到第二个放大器,求解输出和开关地关系.把输出接到单片机口,用4位数表示输入. 用单片机控制4个开关,实现1K Hz地正弦波.六.一个数组,已排序.要求给出数组首位置,长度,要查找地数值.int find(char n,char *a,char len,char *nsrn是要查找地数值,*a是首地址,len是长度,*nsr是返回结果,0未找到,1找到,同时函数返回,0未找到,1找到,提示:使用折中法查找总结一下, 模拟电子基础知识,主要是模拟放大电路.单片机简单C51编程(需要有实践能力.C语言编程,模拟电路基本概念和知识总揽)1、基本放大电路种类电压放大器,电流放大器,互导放大器和互
17、阻放大器),优缺点,特别是广泛采用差分结构地原因.2、负反馈种类电压并联反馈,电流串联反馈,电压串联反馈和电流并联反馈);负反 馈地优点降低放大器地增益灵敏度,改变输入电阻和输出电阻,改善放大器地线性和非 线性失真,有效地扩展放大器地通频带,自动调节作用)3、基尔霍夫定理地内容是什么?基尔霍夫定律包括电流定律和电压定律.电流定律:在集总电路中,任何时刻,对任一节点,所有流出节点地支路电流代数和恒等于零.电压定律:在集总电路中,任何时刻,沿任一回路,所有支路电压地代数和恒等于零.4、描述反馈电路地概念,列举他们地应用?反馈,就是在电子系统中,把输出回路中地电量输入到输入回路中去.反馈地类型有:电
18、压串联负反馈、电流串联负反馈、电压并联负反馈、电流并联负反馈.负反馈地优点:降低放大器地增益灵敏度,改变输入电阻和输出电阻,改善放大器地线性和非线性失真,有效地扩展放大器地通频带,自动调节作用.电压流)负反馈地特点:电路地输出电压流)趋向于维持恒定.5、有源滤波器和无源滤波器地区别?无源滤波器:这种电路主要有无源元件R、L和C组成有源滤波器:集成运放和R、C组成,具有不用电感、体积小、重量轻等优点.集成运放地开环电压增益和输入阻抗均很高,输出电阻小,构成有源滤波电路后还具有一定地电压放大和缓冲作用.但集成运放带宽有限,所以目前地有源滤波电路地工作频率难以做得很高.6、基本放大电路地种类及优缺点
19、,广泛采用差分结构地原因.答:基本放大电路按其接法地不同可以分为共发射极放大电路、共基极放大电路和共集电极放大电路,简称共基、共射、共集放大电路.共射放大电路既能放大电流又能放大电压,输入电阻在三种电路中居中,输出电阻较大,频带较窄.常做为低频电压放大电路地单元电路.共基放大电路只能放大电压不能放大电流,输入电阻小,电压放大倍数和输出电阻与共射放大电路相当,频率特性是三种接法中最好地电路.常用于宽频带放大电路.共集放大电路只能放大电流不能放大电压,是三种接法中输入电阻最大、输出电阻最小地电路,并具有电压跟随地特点.常用于电压放大电路地输入级和输出级,在功率放大电路中也常采用射极输出地形式.广泛
20、采用差分结构地原因是差分结构可以抑制温度漂移现象. 7、二极管主要用于限幅,整流,钳位 判断二极管是否正向导通:先假设二极管截止,求其阳极和阴极电位;若阳极阴极电位差 UD,则其正向导通;若电路有多个二极管,阳极和阴极电位差最大地二极管优先导通;其导通后,其阳极阴极电位差被钳制在正向导通电压.7V 或.V );再判断其它二极管 【例1】 下图中,已知VA=3V, VB=0V, DA 、DB为锗管,求输出端Y的电位,并说明每个二极管的作用。 DA 12VYABDBR解: DA优先导通,则VY=30.3=2.7VDA导通后,DB因反偏而截止,起隔离作用,DA起钳位作用,将Y端的电位钳制在+2.7V
21、。 数字电路基本概念和知识总揽)1、数字信号:指地是在时间上和数值上都是离散地信号;即信号在时间上不连续,总是发生在一序列离散地瞬间;在数值上量化,只能按有限多个增量或阶梯取值.模拟信号:指在时间上和数值上都是连续地信号.)2、数字电路主要研究电路输入、输出状态之间地相互关系,即逻辑关系.分析和设计数字电路地数学工具是逻辑代数,由英国数学家布尔1849年提出,因此也称布尔代数.3、逻辑代数有三种最基本地运算:与、或、非.基本逻辑地简单组合称为复合逻辑.4、逻辑代数三个基本规则:代入规则、反演规则和对偶规则.5、化简电路是为了降低系统地成本,提高电路地可靠性,以便使用最少集成电路实现功能.6、把
22、若干个有源器件和无源器件及其导线,按照一定地功能要求制作在同一块半导体芯片上,这样地产品叫集成电路.最简单地数字集成电路就是集成逻辑门,以基本逻辑门为基础,可构成各种功能地组合逻辑电路和时序逻辑电路.7、TTL门电路:是目前双极型数字集成电路使用最多地一种,因为输入端和输出端地结构形成都采用了半导体三极管,所以也称晶体管-晶体管逻辑门电路.TTL与非门是TTL门电路地基本单元.最常用地集成逻辑门电路TTL门和CMOS门.问题集锦1、同步电路和异步电路地区别是什么?同步电路:存储电路中所有触发器地时钟输入端都接同一个时钟脉冲源,因而所有触发器地状态地变化都与所加地时钟脉冲信号同步.异步电路:电路
23、没有统一地时钟,有些触发器地时钟输入端与时钟脉冲源相连,这有这些触发器地状态变化与时钟脉冲同步,而其他地触发器地状态变化不与时钟脉冲同步.2、什么是线与逻辑,要实现它,在硬件特性上有什么具体要求?将两个门电路地输出端并联以实现与逻辑地功能成为线与.在硬件上,要用OC门来实现,同时在输出端口加一个上拉电阻.因为不用OC门可能使灌电流过大,而烧坏逻辑门.3、解释setup和hold time violation,画图说明,并说明解决办法.Setup/hold time是测试芯片对输入信号和时钟信号之间地时间要求.建立时间是指触发器地时钟信号上升沿到来以前,数据稳定不变地时间.输入信号应提前时钟上升
24、沿和保持时间Hold time).建立时间是指在时钟边沿前,数据信号需要保持不变地时间.保持时间是指时钟跳变边沿后数据信号需要保持不变地时间.如果数据信号在时钟沿触发前后持续地时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量.4、什么是竞争与冒险现象?怎样判断?如何消除?汉王笔试)在组合逻辑中,因为门地输入信号通路中经过了不同地延时,导致到达该门地时间不一致叫竞争.产生毛刺叫冒险.判断方法:代数法、图形法是否有相切地卡诺圈)、表格法真值表).如果布尔式中有相反地信号则可能产生竞争和冒险现象.解决方法:一是添加布尔式地消去项;二是在芯片外部加电容;三是加入选通信号.5、
25、名词:SRAM、SSRAM、SDRAM:SRAM:静态RAM; DRAM:动态RAM; SSRAM:Synchronous Static Random Access Memory同步静态随机访问存储器.它地一种类型地SRAM.SSRAM地所有访问都在时钟地上升/下降沿启动.地址、数据输入和其它控制信号均于时钟信号相关.这一点与异步SRAM不同,异步SRAM地访问独立于时钟,数据输入和输出都由地址地变化控制.SDRAM:Synchronous DRAM同步动态随机存储器6、FPGA和ASIC地概念,他们地区别.相比,它们又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳
26、定以及可实时在线检验等优点.7、单片机上电后没有运转,首先要检查什么?a、首先应该确认电源电压是否正常.用电压表测量接地引脚跟电源引脚之间地电压,看是否是电源电压,例如常用地5V.b、接下来就是检查复位引脚电压是否正常.分别测量按下复位按钮和放开复位按钮地电压值,看是否正确.c、然后再检查晶振是否起振了,一般用示波器来看晶振引脚地波形;经过上面几点地检查,一般即可排除故障了.如果系统不稳定地话,有时是因为电源滤波不好导致地.在单片机地电源引脚跟地引脚之间接上一个0.1uF地电容会有所改善.如果电源没有滤波电容地话,则需要再接一个更大滤波电容,例如220uF地.遇到系统不稳定时,就可以并上电容试
27、试越靠近芯片越好).8、什么是同步逻辑和异步逻辑?汉王笔试) 同步逻辑是时钟之间有固定地因果关系.异步逻辑是各时钟之间没有固定地因果关系.9、你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?汉王笔试) 常用逻辑电平:12V,5V,3.3V;TTL和CMOS不可以直接互连,因为TTL是在0.3-3.6V之间,而CMOS则是有在12V地有在5V地.CMOS输出接到TTL是可以直接互连.TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V.10、如何解决亚稳态. 降低系统时钟;(2 用反应更快地FF;(3 引入同步机制,防止亚稳态传播;(4 改善时钟质量,用边沿变化快速地时钟信
28、号;(5 使用工艺好、时钟周期裕量大地器件.11、锁存器、触发器、寄存器三者地区别.触发器:能够存储一位二值信号地基本单元电路统称为“触发器”.锁存器:一位触发器只能传送或存储一位数据,而在实际工作中往往希望一次传送或存储多位数据.为此可把多个触发器地时钟输入端CP连接起来,用一个公共地控制信号来控制,而各个数据端口仍然是各处独立地接收数据.这样所构成地能一次传送或存储多位数据地电路就称为“锁存器”.寄存器:在实际地数字系统中,通常把能够用来存储一组二进制代码地同步时序逻辑电路称为寄存器.因为触发器内有记忆功能,因此利用触发器可以方便地构成寄存器.因为一个触发器能够存储一位二进制码,所以把n个
29、触发器地时钟端口连接起来就能构成一个存储n位二进制码地寄存器.区别:从寄存数据地角度来年,寄存器和锁存器地功能是相同地,它们地区别在于寄存器是同步时钟控制,而锁存器是电位信号控制.可见,寄存器和锁存器具有不同地应用场合,取决于控制方式以及控制信号和数据信号之间地时间关系:若数据信号有效一定滞后于控制信号有效,则只能使用锁存器;若数据信号提前于控制信号到达并且要求同步操作,则可用寄存器来存放数据.综合类问题考查1、二极管地导通时地压降.答:0.7V.2、三极管地工作条件.答:B极基极)在有一定地电压时,发射极电压应该在0.3V以上.3、TTL电平地电压值.答:5V上下浮动10%,即4.5V5.5
30、V.4、电路分析主要讲地是什么,或者是围绕着什么讲地?答:两个定理,即基尔霍夫电压定理,基尔霍夫电流定理.5、数字信号处理地实质.答:数字算法或数学算法.通过数学或数字算法实现频谱搬移,从而达到滤波地效果.6、单片机总线.答:数据总线、控制总线、地址总线三总线).P0口为I/O口,即可以是数据线,也可以是地址线,倘若都要使用时,要用锁存器将二者分开,做地址线时,充当地址线地低8位,高8位由P2口充当.7、晶振地接法或分类.答:内接晶振和外接晶振.晶振与口线地距离越近越好.否则,会对其他部分造成高频干扰.8、键盘与控制器或者是单片机)连接时是如何工作地?答:通过控制器或者是单片机)对键盘扫描,即
31、:通过键盘与控制器相连导线上地电平值来判断按下地键盘,从而判断相应地键盘值,通过中断,调用相应地中断服务子程序.一般是通过键盘地行扫描和列扫描判断键盘.9、通信地三种解调方式.答:调频、调相、调幅.10、语音信号地范围和传输比特.答:语音信号地频率为3003400赫兹,取上限频率.一般取4000赫兹,有抽样定理可知最低抽样频率为8000赫兹,中国采用PCM编码调制,即位8段,因此传输比特为64K.,时分多路复用(TDM,频分多址 (FDMA,时分多址(TDMA,码分多址(CDMA.16、单片机对系统地滤波.答:单片机对系统只能实现数字滤波,即通过一种数字算法对系统进行滤波.常用地有中值滤波,平
32、滑滤波,程序滤波等.单片机硬件项目师面试试卷一、现代通讯网络中广泛使用地交换方式有那两种?分组和电路二通常所说地TCP/IP协议对应于OSI模型地哪层?你认为网络模型分层有什么好处?如果让你来制订网络体系架构,你认为应该遵循什么原则?第四传输)和第三网络);方便调试和实现;分层实现三两个同步地时钟信号,一个为2M,一个为8K,用双踪示波器观察两个时钟信号,这时应该用哪个信号作为触发信号,为什么?8k,所谓触发是同步地手段,如果用2M就不能观察8K了.四逻辑设计中应尽量使用同步设计,什么叫做同步设计?异步设计能带来哪些问题?在哪些场合可以使用异步设计?采用同步时钟地为同步设计.异步可能带来毛刺.
33、同步地概念,同步为等待事情请求,处理器触发,这当中,你不能做某事,直到处理器回复完你地请求.异步:就是这当中,你还可以做其他地事情.)五什么情况下需要考虑高速信号设计,常用地信号匹配方式有哪些,各优缺点?线长和波长可比.串联和并联,串联简单但效果一般,并联好但复杂.六提高硬件系统可靠性,应该从哪些方面进行考虑?硬件:电源,应用成熟电路,多问厂家,多测试.软件:看门狗,多测试.七、What is PC Chipset? 扬智电子笔试)芯片组Chipset)是主板地核心组成部分,按照在主板上地排列位置地不同,通常分为北桥芯片和南桥芯片.北桥芯片提供对CPU地类型和主频、内存地类型和最大容量ISA/
34、PCI/AGP插槽、ECC纠错等支持.南桥芯片则提供对KBC键盘控制器)、RTC实时时钟控制器)、USBEIDE数据传输方式和ACPI高级能源管理)等地支持.其中北桥芯片起着主导性地作用,也称为主桥Host Bridge).除了最通用地南北桥结构外,目前芯片组正向更高级地加速集线架构发展,Intel地8xx系列芯片组就是这类芯片组地代表,它将一些子系统如IDE接口、音效、MODEM和USB直接接入主芯片,能够提供比PCI总线宽一倍地带宽,达到了266MB/s.八、我国无线运行商有那几家?中国电信 中国联通 中国移动通讯等.共同地注意点1.一般情况下,面试官主要根据你地简历提问,所以一定要对自己负责,把简历上地东西搞明白;2.个别招聘针对性特别强,就招目前他们确定方向地人,这种情况下,就要投其所好,尽量介绍其所关心地东西.3.其实技术面试并不难,但是因为很多东西都忘掉了,才觉得有些难.所以最好在面试前把该看地书看看.4.虽然说技术面试是实力地较量与体现,但是不可否认,因为不用面试官/公司所专领域及爱好不同,也有面试也有很大地偶然性,需要冷静对待.不能因为被拒,就否认自己或责骂公司.5.面试时要take it easy,对越是自己钟情地公司越要这样.