微信

使用微信服务,更方便

职友集>程序员面试题 > 华赛面试经历分享(软件工程师)

华赛面试经历分享(软件工程师)

2015-11-03 06:30:01 阅读( 217 )

2444人 收藏本页

标签:程序员面试题

第一轮:
1,自我介绍一下
2,照这简历问,eg:我说会写ping程序 他要求我把用到的函数写下来;ICMP是什么的缩写;什么实现ping程序;4层网络结构分别什么,每一层都有什么协议;介绍一下TCP 和UDP协议的区别;我说会Linux ,他让我写linux下常用的命令;
3,笔试题:
@1,char str[]=”Hello World!”
char str0[]={‘H’,'e’,'l’,'l’,'o’,’ ‘,’W',’o',’r',’l',’d',’!'};
str和str0相等吗?为什么?
@2,unsigned long PArr[6]={5,6,7,8,9,10};
unsigned long * p;
p=PArr;
*(p+2)+=2;
求*p和*(p+2)的数值;
@3,在X86下
union
{
char i[2];
int k;
} *s,a;
s=&a;
s->i[0]=0×38;s->i[1]=0×39;
a.k的数值是多少?还是不可预知?
@4,char str1[]=”hello\0 world!”;
char str2[30]=”hello\0 world!”;
strlen(str1)=? ; strlen(str2)=?
sizeof(str1)=?; sizeof(str2)=?
第二轮:小组辩论赛
问你为什么选择华赛?
10个人随机分两组,论题:我们是否有必要不断地举办奥运会,世博会等大型聚会?
这个环节不能太锋芒毕露,也不可太沉默
HR让你说出你小组谁最差,排个序,对于某人的评价
看你团队合作能力
第三轮:谈话
1,自我介绍
2,工作地点的看法
3,父母工作
第四轮:英语
1,跟读语句 难度3星
2,听力选择5道题 难度 2星
3,给个论题,看20s,说2min;难度 4星
论题:写email的优势,和电话的区别
客观题答案:1,不相等str长度多1,多了一个‘\0′;
2,5 9
3,不可预知 占用4个字节,高地址2个字节数据不可预知
4,\0存放进去就是相当于给了一个’\0′.故 5 5
14 30
附上往年笔试题:
C语言实现

题一:给出一个函数,原型为 int compare(char* dest,char* src)
要求比较两个字符串(由dest与src字符指针标识)
1,如果两字符串所含字母完全相同,则返回0;
2,如果两字符串所含字母相同(不区分大小写;A与a也算字母相同) ,则返回1
3,否则返回3
int compare(char * dest,char * src)
{
if(strcmp(dest,src)==0)
{
return 0;
}
while(*dest!=’\0′&&*src!=’\0′)
{
if(tolower(*dest++)!=tolower(*src++))
{
return 3;
}
}
if(*dest==’\0′&&*src==’\0′)
{
return 1;
}
else
{
return 3;
}
}

题二:有一文件abc.in 里面有m(m<2000)行字符串;
在每行字符串中,数字字符(’0′-’9′)总数最多不超过25个,且彼此之间用空格字符相隔;
设一值k(k<26),求出本文件中第k列数字字符的平均值,与他们的最大(小)值
注:若某行数字字符的数目小于k,则将此行其余数字字符为视为0
# include “stdafx.h”
# include
# include
# include
# define M 2000

char num

;
char str[200];
char temp[25];
int now=0;//当前位置
int k;

void getdata()
{
puts(str);
int len=strlen(str);
int i,j;
i=j=0;
for(i=0;i<len;i++)
{
if(isdigit(str))
{
if(j==k)
{
num[now++]=str;
return ;
}
j++;
}
}
if(j<=k)
{
num[now++]=’0′;
}
}
void show()
{
int i;
int sum=0;
int Max,Min;
Max=Min=num[0];
for(i=0;i<now;i++)
{
sum+=num;
if(Max<num) Max=num;
if(Min>num) Min=num;
printf(“%c “,num);
if(i%5==4) printf(“\n”);
}
printf(“\nAverger:%c\n”,sum/now);//
printf(“Max:%c\n”,Max);
printf(“Min:%c\n”,Min);
}
void main()
{
//open file
FILE * fp;
fp=fopen(“abc.in”,”r”);
if(fp==NULL)
{
printf(“open file error!\n”);
return ;
}

printf(“INPUT (k):”);
scanf(“%d”,&k);
k–;//转化为数组下标
getchar();

memset(str,0,200);
while(!feof(fp))
{
memset(str,0,200);
fgets(str,200,fp);
if(*str==0) break;//还会再读取一个空的字符串
getdata();
}
show();
fclose(fp);
}

来自IT公司面试手册

下一篇:互联网it行业求职面试要点

上一篇:it面试题

亲~ 如果您有更好的答案 可在评论区发表您独到的见解。

您想查看更多的信息: 面试题