2014深圳锐明视讯校园招聘 [李园7舍_404]
来源:互联网 发布:java权限管理shiro 编辑:程序博客网 时间:2024/05/17 06:08
好几天前的笔试。今天去九龙坡面试了一趟。遇上辅导员找咱还三方协议,虽然是悄悄的拿的,但就是不想还回去。深圳锐明视讯的宣讲会流程为:宣讲会(1小时左右)-->笔试(1小时半),然后过两三天的时间部分同学就会收到面试通知。我去面试了一遭,然后将笔试(软件工程师的笔试题)和面试的经历记录如下。
在软件和硬件之间徘徊了一下还是坐到了软件工程师的一排,笔试内容分为专业知识考查及综合测评。专业笔试主要是C语言,包括“printf”、“位运算符”、“局部指针(栈内存)”、“二级指针”、“动、静态局部变量”、“强制类型转换“、“简单递归”、“sizeof”、“结构体和联合体内存对齐”、“switch-case”、“字符串拷贝函数实现”、“简单递归函数编写”、“基本排序算法编写”、“链表的插入、删除等简单操作函数编写”。综合测评包含“数字规律”、“图形规律”、“应用题”。答案是我自己做的,感谢找虫者。面试分一面和二面。
1 C语言部分
C语言笔试由两部分组成:读程序和写程序。读程序大多是参进一些C语言的基本知识和printf连考,具体的题目记不起来了,想其每年的题目都会发生变化。主要笔记以下几个C知识点。
(1) 联合体与结构体内存对齐
C的内存对齐的笔记在: C struct内存对齐 union的大端小端 笔记中。
暂且假设这个说法正确:int占多少个字节是由编译器决定的,ANSI标准定义int是占2个字节。
#include <stdio.h>int main(void){ union stu_1{ int age; int gread[4]; char name[17]; char sex; }; struct { int age; char name[4]; char sex; }stu_2; printf("\nunion size: %d, struct size:%d", sizeof(union stu_1), sizeof(stu_2)); return 0;}
这个题目不好做:
- 不同的编译器sizeof(类型)的值可能不一样。
- 数据在内存中存储的对齐方式不同输出结果也不同。
如果只考虑联合体与结构体占用内存这个知识点加sizeof(int)值为4,则union stu_1占用最大元素内存:17个字节。stu_2占用所有元素内存之和:4 + 3 +1 = 8个字节。但是,您若将这段代码敲进linux内进行验证,结果可不是这样子的。咋就和书上说的不一样呢?我猜测如下:
在linux下,数据存储最小单元为4个字节。这就是为什么第一个输出结果为20,第二个输出结果为12。只有完全吻合数据存储方式的情况下才能输出书中所述的结果。
所以,答这道题目咱应该在答案后面注明是什么系统(啥存储方式来着)。
(2) C语言的动态局部变量与静态局部变量
动态局部变量存储在栈上。静态局部变量跟全局变量一样存储在数据段的全局区(静态区)。程序考查静态局部变量的生命期。
void sum( int n ){ auto int m = 0; static int k = 5; m++; k += 2; printf(“%d,”, n + m + k);}#include <stdio.h>int main(void){ int i; for(i = 0; i < 4; ++i){ sum(2); }return 0;}
函数被调用4次,每次和增加2,所以答案应该为:10, 12, 14, 16
(3) 简单递归输出
关于递归函数调用过程在 无聊的递归过程 笔记笔记中。
兴许是考查一下递归的思维,但是在平时的编程中递归使用得实在是太少。由于是简单递归的考查,我使用函数调用的方式将其解答,层层调用,直到函数用分支返回为止。
int sum( int n){ if(n <= 2){ return n; } return sum(n-1) + sum(n-2);}
现在若n为7(一般不会这么大),则sum函数返回多少。
答案:21
(4) &运算符
考查位运算符作减1的功能。这道题目我做错了。我瞄了一眼,将逻辑设置成:n & n-1相当于”--n;”操作。其实不然,若n为奇数则相当于”--n;”操作;当n为偶数时,每n &=n – 1;操作使n的二进制最低非0位为0,等n最高位为0时再来一次n &=n – 1;时,n就变为0了。
int bit(int n){int all = 0;while(n){++all;n&= n – 1;}return all;}
若n为9999,则bit函数的返回值为多少。
答案:8。
(5) 二级指针
二级指针作为函数参数,作为改变传进指针内容之用。
void second_pointer(char **ppStr){* ppStr= “hello world”;}int main(void){char *pStr = “no hello world”;second(&pStr);printf(“%s\n”, pStr);}
答案:hello world
(6) 返回栈内存
编译器是不允许返回局部指针的。堆内存和栈内存可否返回可以看这两篇笔记:C指针和堆空间 笔记和C语言 子函数return(局部变量&栈地址)机制 笔记。
char *return_str(){char pStr[] =”hello wordl”; // Not the char *pStr= =”hello wordl”;return pStr;}int main(void){char *pStr = NULL;pStr= return_str();printf(“%s\n”, pStr);}
答案:乱码。局部地址PStr可以返回,但返回后pStr所指的栈内存已经被系统释放。编译器会对此作出警告。
(7) 强制类型转换
void translate(){int value=0x12345678;char ch = (char)value;char *ch1= (char *)&value; char *ch2 = (char *)value;printf(“%x,%x, %x\n”, ch, *ch1, ch2);}答案:78,78,12345678
一个地址占的内存大小跟操作系统的地址线挂钩,如32位系统中,一个地址占4个字节。所以就算是一个char型变量的地址值也是占用4个字节的。只是地址对应的内存只有一个字节大(每字节内存的地址为4字节值)。
(8) switch-case
考查case内不含break的情况:如果没有break语句,则程序会一直执行到break语句或者default下的语句为止。#include <stdio.h>void switch_case(int n);int main(void){ int i; for(i = 0; i < 3; ++i){ switch_case(i); } printf("\n"); return 0;}
void switch_case(int n){ switch(n){ case 0: n += 1; case 1: case 2: n += 2; default: n += 3; } printf("%d ", n);}答案:6 6 7
(9) 简单函数编写
程序编写的题目都是简单函数的编写,包括“strcpy”、“简单递归”、"链表的插入删除"等函数的编写。懒得写了。2 综合测评
(1)数字规律
3 2 5/3 3/2 (7/5) 1 7 8 57 (121)(2)图形规律
没有照片。(3)简单综合应用题
应用题大体为:A,B两人共种20亩地的玉米,A种地速度是B的2倍,B种玉米的速度是A的3倍。等A,B种完这块地后地主给了20两银子,问两人该如何分配。答:捡关键的数字进行理解:
B是A的3/2倍。
故A的银子为20 * 2/5 = 8两
B 20- 8 = 12两。
3 面试
在学校笔试后,公司将笔试试卷带回公司。两到3天之后就会通知同学到公司面试,重庆区的同学面试地点在九龙坡科园3路68号金果园商务楼8楼面试。面试分一面(专业面)及综合面。专业面就是问技术问题,包含“MFC”,“linux”,“多线程”及“C/C++”的一些基本知识,如问了C与C++动态分配的区别。我觉得C++的STL几乎是必面知识,TCP/IP协议也是重点。一面快速通过进入二面。综合面为3面1,这种多面1的场合我总是喜欢放开了说,有胡说八道之疑。主要包括“自我介绍”、“大学最深刻经历”、“家庭情况”、“求学经历”、“职业规划”及“其它生活方面的问题”。有几个问题没有答上的:linux的启动顺序和职业规划。自我介绍我直接说了名字和来自的院校,接着就没了。对于职业规划,我直接答我不知道。Linux的启动顺序我也答不知道,只是在linux之上搞过小开发,还没有时间深入内核等方面。然后其它的我直肠子的说了,如他人对我的评价,我回答的居然是自恋。不知道面试官们怎么想。
- 2014深圳锐明视讯校园招聘 [李园7舍_404]
- 2014深圳吉祥腾达校园招聘 [李园7舍_404]
- 2014 百度 研发 校园招聘(深圳 天津)
- 解析BMP文件 [李园7舍_404]
- 动态内存分配 [李园7舍_404]
- 求最小不重复数,源于百度2014届校园招聘软件研发岗位深圳站
- 百度2014校园招聘笔试题(深圳-软件研发岗)
- 百度校园2014招聘软件研发类笔试题(深圳站)
- 百度2014校园招聘笔试题(深圳-软件研发岗)
- 2014百度校园招聘软件研发类笔试题(深圳站)
- 百度2014校园招聘笔试题(深圳-软件研发岗)
- 深圳深信服科技07年校园招聘笔试题目
- 百度2012校园招聘 笔试题(深圳)
- 深圳宜搜2013校园招聘 笔试回忆录
- 华为2018校园优先招聘深圳地区笔试代码分享
- 2014校园招聘总结
- 2014校园招聘总结 .
- 2014校园招聘总结
- js框架开发之旅--函数式编程二
- [译]Kinect for Windows SDK开发入门(七):骨骼追踪基础 下
- 阅读剑指offer第一章
- C++中的 using
- jetty之SocketConnector
- 2014深圳锐明视讯校园招聘 [李园7舍_404]
- iOS 5解决Could not instantiate class named NSLayoutConstraint问题
- C语言中的return ,exit
- Android的硬件加速
- [译]Kinect for Windows SDK开发入门(八):骨骼追踪进阶 上
- 纯switch网络测试
- IOS 获取时间毫秒(个人)
- wordpress 数据结构图
- C结构体之位域(位段)(整合两篇)