君正面试题(北京君正公司笔试题)

2024-01-01 00:44:00 来源 : haohaofanwen.com 投稿人 : admin

下面是好好范文网小编收集整理的君正面试题(北京君正公司笔试题),仅供参考,欢迎大家阅读!

君正面试题

1, 简述以下命令作用 ls,cd,rm,mv,grep,apt-get,make menuconfig,nm; 用你熟悉的语言实现memcpy,并说明memcpy存在什么问题,怎样改进效率

ls:  查看当前目录下所有文件

cd : 打开目录或者

rm :删除文件

mv: 转移文件

grep:筛选

apt-get: 安装软件

make menuconfig : 图形化的内核配置

nm:  可以用来查询可执行文件和库文件的符号

mencpy 的实现:

void  *mencpy(void *dest,void *src , int count)

char  *ret  =  (char *)dest;

char dest_t  =  ret;

char source_t  = (char *)src;  

while(count --)

dest_t++ = source_t++;

return ret;

注意:memcpy没有考虑到重叠情况,使用过程中会出意想不到的后果

改进方案:

void *memcpy(void *dest, void *src,count)

char *ret = (char *)dest;

char *dest_t  ;

char *src_t  ;

if(src == NULL || dest == NULL)

return -1 ;

if ((unsigned char *)dest  <= (unsigned char *)src  ||  (unsigned char *)dest >= (unsigned char *)src  + count ) 

dest_t  = (char *)dest ; 

src_t  =  (char *)src ;

while(count --)

*dest_t ++  =  *src_t ++;

}  

else 

dest_t  =  (char *)dest  +  count - 1;

src_t  =  (char *)src  +  count - 1;

while(count --)

*dest_t -- = *src_t --;

return ret ;

2, 一个led灯,int led(void)为已经实现了读取它的状态,返回非零点灯,返回0灭灯,

A, 写一个程序,实现1s读取一次灯的状态

B, 采集10次结果,打印结果

int led_situation()

int ret;

ret = led();

sleep(1);

return ret ;

int led_print()

int count  =  10;

int temp ;

while(count --)

temp = led_situatio();

printf(“led situation is %dn”,temp);

3, 打算做一个系统取代12306火车订票系统,写出保存订票信息的结构体

struct _ticket_reservation {

char name[10];

char sex;

int id;

char local_time[12];

char departure_time[12];

char origin[12];

char destination[12];

char seat_type[10];

float ticket_price;

}TICKET;

4, 简述cache的作用,画出cpu,cache,dma,一致性的图

cache为高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问。存储器的高速缓冲存储器存储了频繁访问的 RAM 位置的内容及这些数据项的存储地址。

5, Linux中声请内存的方法和特点

物理内存的分配, 在内核中最终都要调用__alloc_pages().它是最核心的分配函数,申请大小最大不超过2的MAX_ORDER次幂,在现在好像最大定义为4MB。 用户空间的虚拟内存, malloc之类的, 最终在内核中都是do_map()和do_brk()。实际上也只是建立了一块虚拟空间,最终的物理内存还是在缺页异常时分配的。 

6, 

1) A,B,C器件的名称是(图上画分别是电阻,三极管,二极管的符号),C起什么作用

2) 当EN置高时电路的情况

C是二极管,作用是防止线圈断电产生的高压烧毁三极管。

EN置高时,三极管导通工作在导通区,线圈得电吸合。

7, i2c,uart,spi……..请你选择一种熟悉的器件,写出管脚并注明作用

1) 的一款芯片:24C02

VCC: 1.8V~6.0V工作电压

VSS:地

A0、A1、A2:同时使用时设置区分器件地址,悬空时默认为0,同一总线中最多可使用8个24C02,若只有一个24C02被寻址则这这三个管脚可以悬空或者接地

SDA:双向串行数据/地址管脚,用于器件所有数据的接收和发送

SCK:串行时钟引脚,用于产生器件所有数据发送和接收的时钟,这是一个输入管脚

WP:写保护引脚,当WP接VCC时,芯片只能进行读操作不能进行写操作,当WP接VSS时,芯片能进行正常的读/写操作。

2)UART的一款芯片:SP3232EEA

EN:接收器使能控制,正常情况下该管脚为低电平,该管脚为高电平时接收器禁止输出

V+:电荷泵产生的+5.5V电压

V-:倍压电荷泵电容的负极

C2+:反向电荷泵电容的正极

C2-:反向电荷泵电容的负极

T1OUT:RS232驱动器输出

T2OUT:RS232驱动器输出

R1IN:RS232接收器输入

R2IN:RS232接收器输入

R1OUT:TTL/CMOS接收器输出

R2OUT:TTL/CMOS接收器输出

T1IN:TTL/COMS驱动器输入

T2IN:TTL/COMS驱动器输入

GND:地

VCC: +3.0~5.0V

SHDN:关断控制输入,正常模式下该管脚为高电平,为低电平时关闭驱动器和片内电荷泵电源

3)SPI的一款芯片:M25PXX

C:串行时钟

D:串行数据输入

Q:串行数据输出

S:片选

W:写保护

HOLD:hold

VCC:5V电源

VSS:地

11,有27个运动员买饮料,3个空瓶可以换1瓶饮料,问买多少瓶保证每个人有一瓶,除了用空瓶换,还有什么办法可以喝到饮料(当时我很邪恶,27个运动员,吓也可以把店小二吓得举手投降,还有什么困难弄饮料喝)

买19瓶饮料,可保证每人喝一瓶;

12,西天取经,分别阐述4个徒弟的作用和特点,谁的作用最有用(此题很坑爹,差点答boss僧哥了,看清题意是4徒第)

悟空的作用最有用,每次遇到困难,都是悟空挺身而出,除妖降魔,保师徒平安。因此,任何一个团队若没有一个非常有魄力的人,这个团队很难坚持下去

14,假如你是外科医生助理,你们正在动手术,最后发现纱布不够用一块,问你怎么办(当时我也很邪恶,竟然想到了不管它,死不了)

纱布虽小却关乎病人的安危,应叫医院护士再去找一块即可

————————————————


相关文章

    暂无相关信息
专题分类