华为c语言经典面试题(精选10篇)
PS:字符数组和字符串的最明显的区别就是字符串会被默认的加上结束符’’。void test3(char* str1){
char string[10];
if(strlen(str1)<=10)
{
strcpy(string, str1);
} }
这里的问题仍是越界问题。strlen函数得到字符串除结束符外的长度。如果这里是<=10话,就很明显越界了。
小结:上面的三个找错的函数,主要是考查对字符串和字符数组的概念的掌握以及对strcpy函数和strlen函数的理解。
2、找错
DSN get_SRM_no(){
static int SRM_no;
int I;“>
for(I=0;I
{
SRM_no %= MAX_SRM;
if(MY_SRM.state==IDLE)
{
break;
}
}
if(I>=MAX_SRM)
return(NULL_SRM);
else
return SRM_no;} 这里for循环的判断语句是后来我加上的,估计在网上流传的时候被人给弄丢了,根据对程序的分析,给补上了。估计错误应该不是这儿。
简单的阅读一下这个函数,可以大概的可以猜测出这个函数的功能是分配一个空闲的SRAM块。方法:从上次分配的RAM块后的RAM块开始检测SRAM每个RAM块,看是否是IDLE状态,如果是IDLE则返回当前的RAM块的号SRM_no。如果所有的RAM块都不是IDLE状态,则意味着无法分配一个RAM给函数调用者,返回一个表示没有RAM可分配的标志(NULL_SRM)。
经过上面的分析,则这里可以知道,这个函数的错误是for循环里面没有给SRM_no这个变量累加1。
3、写出程序运行结果 int sum(int a){
auto int c=0;
static int b=3;
c+=1;b+=2;
return(a+b+c);} void main(){
int I;
int a=2;
for(I=0;I<5;I++)
{
printf(”%d,", sum(a));
} } 运行结果是:8,10,12,14,16, 在求和函数sum里面c是auto变量,根据auto变量特性知每次调用sum函数时变量c都会自动赋值为0。b是static变量,根据static变量特性知每次调用sum函数时变量b都会使用上次调用sum函数时b保存的值。
简单的分析一下函数,可以知道,若传入的参数不变,则每次调用sum函数返回的结果,都比上次多2。所以答案是:8,10,12,14,16,4、func(1)= ? int func(int a){
int b;
switch(a)
{
case 1: 30;
case 2: 20;
case 3: 16;
default: 0;
}
return b;} 在 case 语句中可能忘记了对变量b赋值。如果改为下面的代码: int func(int a){
int b;
switch(a)
{
case 1: b = 30;
case 2: b = 20;
case 3: b = 16;
default: b = 0;
}
return b;} 因为case语句中漏掉了break语句,所以无论传给函数的参数是多少,运行结果均为0。
5、a[qp] = a[2] = 2;
6、内存空间占用问题
定义 int **a[3][4], 则变量占有的内存空间为:16位系统24,32位编译系统中是48。PS:公式:3 * 4 * sizeof(int **)。
7、程序编写
编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入2004年12月31日23时59分59秒,则输出2005年1月1日0时0分0秒。
void ResetTheTime(int *year,int *month,int *date,int *hour,int *minute,int*second){
int dayOfMonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if(*year < 0 || *month < 1 || *month > 12 ||
*date < 1 || *date > 31 || *hour < 0 || *hour > 23 ||
*minute < 0 ||*minute > 59|| *second <0 || *second >60)
return;if(*year%400 == 0 || *year%100!= 0 && *year%4 == 0)
dayOfMonth[1] = 29;
if(*second >= 60)
{
*second = 0;
*minute += 1;
if(*minute >= 60)
{
*minute = 0;
*hour += 1;
if(*hour >= 24)
{
*hour = 0;
*date += 1;
if(*date > dayOfMonth[*month-1])
{
*date = 1;
*month += 1;
if(*month > 12)
{
*month=1;
*year += 1;
}
}
1. 一个位域必须存储在同一个字节中,不能跨两个字节。如一个字节所剩空间不够存放另一位域时,应从下一单元起存放该位域。也可以有意使某位域从下一单元开始。例如:
struct bs
{
unsigned a:4
unsigned :0 /*空域*/
unsigned b:4 /*从下一单元开始存放*/
unsigned c:4
}
在这个位域定义中,a占第一字节的4位,后4位填0表示不使用,b从第二字节开始,占用4位,c占用4位。
2. 由于位域不允许跨两个字节,因此位域的长度不能大于一个字节的长度,也就是说不能超过8位二进位。
3. 位域可以无位域名,这时它只用来作填充或调整位置。无名的位域是不能使用的。例如:
struct k
{
int a:1
int :2 /*该2位不能使用*/
int b:3
int c:2
};
从以上分析可以看出,位域在本质上就是一种结构类型, 不过其成员是按二进位分配的。
二、位域的使用位域的使用和结构成员的使用相同,其一般形式为: 位域变量名?位域名 位域允许用各种格式输出。
main(){
struct bs
{
unsigned a:1;
unsigned b:3;
unsigned c:4;
} bit,*pbit;
bit.a=1;
bit.b=7;
bit.c=15;
pri
改错:
#include
int main(void) {
int **p;
int arr[100];
p = &arr;
return 0;
}
解答:
搞错了,是指针类型不同,
int **p; //二级指针
&arr; //得到的是指向第一维为100的数组的指针
#include
int main(void) {
int **p, *q;
int arr[100];
q = arr;
p = &q;
return 0;
}
下面这个程序执行后会有什么错误或者效果:
#define MAX 255
int main()
{
unsigned char A[MAX],i;//i被定义为unsigned char
for (i=0;i<=MAX;i++)
A[i]=i;
}
解答:死循环加数组越界访问(C/C++不进行数组越界检查)
MAX=255
数组A的下标范围为:0..MAX-1,这是其一..
其二.当i循环到255时,循环内执行:
A[255]=255;
这句本身没有问题..但是返回for (i=0;i<=MAX;i++)语句时,
由于unsigned char的取值范围在(0..255),i++以后i又为0了..无限循环下去.
struct name1{
char str;
short x;
int num;
}
struct name2{
char str;
int num;
short x;
}
sizeof(struct name1)=8,sizeof(struct name2)=12
在第二个结构中,为保证num按四个字节对齐,char后必须留出3字节的空间;同时为保证整个结构的自然对齐(这里是4字节对齐),在x后还要补齐2个字节,这样就是12字节。
intel:
A.c 和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会不会有问题?这两个static变量会保存到哪里(栈还是堆或者其他的)?
static的全局变量,表明这个变量仅在本模块中有意义,不会影响其他模块。
他们都放在数据区,但是编译器对他们的命名是不同的。
如果要使变量在其他模块也有意义的话,需要使用extern关键字。
struct s1
{
int i: 8;
int j: 4;
int a: 3;
double b;
};
struct s2
{
int i: 8;
int j: 4;
double b;
int a:3;
};
printf(”sizeof(s1)= %d“, sizeof(s1));
printf(”sizeof(s2)= %d“, sizeof(s2));
result: 16, 24
第一个struct s1
{
int i: 8;
int j: 4;
int a: 3;
double b;
};
理论上是这样的,首先是i在相对0的位置,占8位一个字节,然后,j就在相对一个字节的位置,由于一个位置的字节数是4位的倍数,因此不用对齐,就放在那里了,然后是a,要在3位的倍数关系的位置上,因此要移一位,在15位的位置上放下,目前总共是18位,折算过来是2字节2位的样子,由于double是8 字节的,因此要在相对0要是8个字节的位置上放下,因此从18位开始到8个字节之间的位置被忽略,直接放在8字节的位置了,因此,总共是16字节。
第二个最后会对照是不是结构体内最大数据的倍数,不是的话,会补成是最大数据的倍数
1)读文件file1.txt的内容(例如):
12
34
56
输出到file2.txt:
56
34
12
(逆序)
2)输出和为一个给定整数的所有组合
例如n=5
5=1+4;5=2+3(相加的数不能重复)
则输出
1,4;2,3。
望高手赐教!!
第一题,注意可增长数组的应用.
#include
#include
int main(void)
{
int MAX = 10;
int *a = (int *)malloc(MAX * sizeof(int));
int *b;
FILE *fp1;
FILE *fp2;
fp1 = fopen(”a.txt“,”r“);
if(fp1 == NULL)
{printf(”error1“);
exit(-1);
}
fp2 = fopen(”b.txt“,”w“);
if(fp2 == NULL)
{printf(”error2“);
exit(-1);
}
int i = 0;
int j = 0;
while(fscanf(fp1,”%d“,&a[i]) != EOF)
{
i++;
j++;
if(i >= MAX)
{
MAX = 2 * MAX;
b = (int*)realloc(a,MAX * sizeof(int));
if(b == NULL)
{
printf(”error3“);
exit(-1);
}
a = b;
}
}
for(;--j >= 0;)
fprintf(fp2,”%d“,a[j]);
fclose(fp1);
fclose(fp2);
return 0;
}
第二题.
#include
int main(void)
{
unsigned long int i,j,k;
printf(”please input the number“);
scanf(”%d“,&i);
if( i % 2 == 0)
j = i / 2;
else
j = i / 2 + 1;
printf(”The result is “);
for(k = 0; k < j; k++)
printf(”%d = %d + %d“,i,k,i - k);
return 0;
}
#include
void main()
{
unsigned long int a,i=1;
scanf(”%d“,&a);
if(a%2==0)
{
for(i=1;i
printf(”%d“,a,a-i);
}
else
for(i=1;i<=a/2;i++)
printf(” %d, %d“,i,a-i);
}
兄弟,这样的题目若是做不出来实在是有些不应该, 给你一个递规反向输出字符串的例子,可谓是反序的经典例程.
void inverse(char *p)
{
if( *p = = ”�“ )
return;
inverse( p+1 );
printf( ”%c“, *p );
}
int main(int argc, char *argv[])
{
inverse(”abc�“);
return 0;
}
借签了楼上的“递规反向输出”
#include
void test(FILE *fread, FILE *fwrite)
{
char buf[1024] = {0};
if (!fgets(buf, sizeof(buf), fread))
return;
test( fread, fwrite );
fputs(buf, fwrite);
}
int main(int argc, char *argv[])
{
FILE *fr = NULL;
FILE *fw = NULL;
fr = fopen(”data“, ”rb“);
fw = fopen(”dataout“, ”wb");
test(fr, fw);
fclose(fr);
fclose(fw);
return 0;
}
在对齐为4的情况下
struct BBB
{
long num;
char *name;
short int data;
char ha;
short ba[5];
}*p;
p=0x1000000;
p+0x200=____;
(Ulong)p+0x200=____;
(char*)p+0x200=____;
希望各位达人给出答案和原因,谢谢拉
解答:假设在32位CPU上,
sizeof(long) = 4 bytes
sizeof(char *) = 4 bytes
sizeof(short int) = sizeof(short) = 2 bytes
sizeof(char) = 1 bytes
由于是4字节对齐,
sizeof(struct BBB) = sizeof(*p)
= 4 + 4 + 2 + 1 + 1/*补齐*/ + 2*5 + 2/*补齐*/ = 24 bytes (经Dev-C++验证)
p=0x1000000;
p+0x200=____;
= 0x1000000 + 0x200*24
(Ulong)p+0x200=____;
= 0x1000000 + 0x200
(char*)p+0x200=____;
= 0x1000000 + 0x200*4
一、你已经买了一张从西安到武昌的火车票,车快到郑州前接到公司电话立即下车赶到济南。你如何做才使火车票的损失最小?
二、平台要改一个数据,你要局方在半夜12时后工作,局方随工不想半夜来,就在白天自作主张修改数据重新启动。结果;1 一举成功;2 发生一个隐蔽故障造成中断5分钟。局方随工要求不要声张。这两种情况你应如何作?
三、检查货物发现公司的材料型号错了,需要向办事处写货物问题反馈表补货,这样以来工期可能拖延2天。要不要让局方知道?如何对局方讲?如何对办事处讲?如何对本公司讲?
四、局方随工几乎每餐都到餐馆请客,说是他可以报销。我们应如何应对?
五、局方随工到吃饭就拉我们去餐馆一起吃饭,而且从来不肯付帐,如何处理?
六、有件事要问打张经理手机,回答不在服务区,如何处理?你等一下再打,提示手机欠费停机,又当如何处理?
七、局方随工问一个新学员一个问题,他答不上来,又不敢说不会,只好回答“嗯”。你觉得合适吗?你如何做?
八、工程完工时我们把硬件、设备安装、初验报告交局方领导签字,局方领导说合同是运维部签的,我们无权签字,应运行一段时期没有问题有运维部验收。我们应当如何应对?从中应吸取什么教训?
九、到一个地方,局方热情地为我们找了高标准的宾馆,如何应对?
十、华为办事处或局方打你手机,说一件需很长时间才能够说清楚的事,要花费许多话费,你如何应对?
十一、局方要求我们做一件工程界面以外的事情:1 要求我们自己把电线带到现场; 2 要求我们自己雇车把电线运到现场。应如何应对?
十二、在电信局内,在走道碰到局方某机房班长,现在没有什么事情找他,机房班长也明明看到了你们,却迅速把目光移向别处。你如何应对?
十三、你已经写好了明天上交运维部主任的周报,未打印出来,下班时分,经过一个办公室发现主任正在里面看报。他并未发现你,你如何应对?
十四、局方办公室人都很忙,电话机响许久无人接,你正好在旁边,你如何应对?
十五、z到局方主任办公室找主任,主任正在和一些人商量其它事情,看见z来了,话并没有停下来。应如何应对?
十六、接上题,z站了一会,主任抬头问z:“有什么事?”,z汇报明天要安排动力部电工来现场接电,带10平方电线3种颜色各15米,铜线鼻6个和压线钳等等材料。主任听了说,“好,我明天安排人。”z就道别出来了。请点评。
十七、z上午8点到机房,机房工作人员正在做卫生,不能进行调试,z站在那里不知怎么才好,准备回旅社下午再来。请点评。
十八、到某地预计要施工3个月,z为了安全,身上不多放现金,身上只有一张发工资用的邮政储蓄卡,他每周去邮政储蓄取一次钱。刚够一周用。你以为合适吗,请点评。
十九、局方随工问你:你们华为的的工资和补助怎么样?你如何回答?
二十、局方随工和你聊天说,你们华为公司上次来谈合同的人,说下次来一定请我们吃饭,结果再没见到他了。你应当如何应对?
二十一、电信局领导听说你到联通公司做过特殊业务,问你,他们的特殊业务有哪些功能?你如何应对? 二
十二、小z做112测试头,对接中兴交换机。小z把资料提供给局方的程控机房班长,班长做了两天还是对不通,就说最近很忙,放下不管了;小z又找到机房另外一个工程师,要他协助解决。他说,“连班长都搞不定,我试都不用试。”下一步应当怎么办?
二十三、到某局安装好电源,局方拒绝签字验收,后才问明电源设备是系统经集成商卖给局方的。应如何处理?
二十四、新学员小y第一次随老员工老x外出施工,每人背一个行李包,老x多还拉了个工具箱。为了搞好关系多学技术,小y做了:1 自己要出钱帮老x买车票;2 一路上主动递烟,吃饭主动买单;3 到局方请老x休息看行李,自己主动找局方领导协调。老x应当如何应对?
二十五、小z参加华为公司举办为期3天的学习班,参加的人有许多单位的学员。如何在诸多的学员中迅速博得老师的好感?
电力新闻:
5月,国电酒泉项目正式启动; 5月,国电邯郸项目顺利验收;
5月,国电电力总部安生部领导赴庄河考察,对安全管理系统实施情况表示满意,并提出进一步完善意见;
6月,国电东胜项目顺利验收;
一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)
请写出 BOOL flag 与“零值”比较的 if 语句。(3分)标准答案: if ( flag ) if ( !flag )如下写法均属不良风格,不得分。 if (flag == TRUE) if (flag == 1 ) if (flag == FALSE) if (flag == 0)请写出 float x 与“零值”比较的 if 语句。(4分)标准答案示例:const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x <= EPSINON)不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。如下是错误的写法,不得分。 if (x == 0.0) if (x != 0.0)请写出 char *p 与“零值”比较的 if 语句。(3分)标准答案: if (p == NULL) if (p != NULL)如下写法均属不良风格,不得分。 if (p == 0) if (p != 0) if (p) if (!)
二、以下为Windows NT下的32位C++程序,请计算sizeof的值(10分)
char str[] = “Hello” ; char *p = str ;int n = 10;请计算sizeof (str ) = 6 (2分)sizeof ( p ) = 4 (2分)sizeof ( n ) = 4 (2分)void Func ( char str[100]){请计算sizeof( str ) = 4(2分)}void *p = malloc( 100 );请计算sizeof ( p ) = 4 (2分)
三、简答题(25分)
1、头文件中的 ifndef/define/endif 干什么用?(5分)
答:防止该头文件被重复引用。
2、#include 和 #include “filename.h” 有什么区别?(5分)
答:对于#include ,编译器从标准库路径开始搜索 filename.h
对于#include “filename.h” ,编译器从用户的工作路径开始搜索 filename.h
3、const 有什么用途?(请至少说明两种)(5分)
答:(1)可以定义 const 常量
(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。
4、在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”? (5分)
答:C++语言支持函数重载,C语言不支持函数重载。函数被C++编译后在库中的名字与C语言的不同。假设某个函数的原型为: void foo(int x, int y);
该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像_foo_int_int之类的名字。
C++提供了C连接交换指定符号extern“C”来解决名字匹配问题。
5、请简述以下两个for循环的优缺点(5分)
for (i=0; i四、有关内存的思考题(每小题5分,共20分)
void GetMemory(char *p){p = (char *)malloc(100);}void Test(void){char *str = NULL;GetMemory(str);strcpy(str, “hello world”);printf(str);}请问运行Test函数会有什么样的结果?答:程序崩溃。因为GetMemory并不能传递动态内存,Test函数中的 str一直都是 NULL。strcpy(str, “hello world”);将使程序崩溃。char *GetMemory(void){char p[] = “hello world”;return p;}void Test(void){char *str = NULL;str = GetMemory();printf(str);}请问运行Test函数会有什么样的结果?答:可能是乱码。因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是 NULL,但其原现的内容已经被清除,新内容不可知。void GetMemory2(char **p, int num){*p = (char *)malloc(num);}void Test(void){char *str = NULL;GetMemory(&str, 100);strcpy(str, “hello”);printf(str);}请问运行Test函数会有什么样的结果?答:(1)能够输出hello(2)内存泄漏void Test(void){char *str = (char *) malloc(100); strcpy(str, “hello”); free(str); if(str != NULL) { strcpy(str, “world”);printf(str);}}请问运行Test函数会有什么样的结果?答:篡改动态内存区的内容,后果难以预料,非常危险。因为free(str);之后,str成为野指针,if(str != NULL)语句不起作用。
五、编写strcpy函数(10分)
已知strcpy函数的原型是
char *strcpy(char *strDest, const char *strSrc);
其中strDest是目的字符串,strSrc是源字符串。
(1)不调用C++/C的字符串库函数,请编写函数 strcpy
char *strcpy(char *strDest, const char *strSrc);
{
assert((strDest!=NULL) && (strSrc !=NULL)); // 2分
char *address = strDest; // 2分
while( (*strDest++ = * strSrc++) != ‘ 0’ ) // 2分
NULL ;
return address ; // 2分
}
(2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?
答:为了实现链式表达式。 // 2分
例如 int length = strlen( strcpy( strDest, “hello world”) );
六、编写类String的构造函数、析构函数和赋值函数(25分)
已知类String的原型为:
class String
{
public:
String(const char *str = NULL); // 普通构造函数
String(const String &other); // 拷贝构造函数
~ String(void); // 析构函数
String & operate =(const String &other); // 赋值函数
private:
char *m_data; // 用于保存字符串
};
请编写String的上述4个函数。
标准答案:
// String的析构函数
String::~String(void) // 3分
{
[] m_data;
// 由于m_data是内部数据类型,也可以写成 m_data;
}
// String的普通构造函数
String::String(const char *str) // 6分
{
if(str==NULL)
{
m_data = new char[1]; // 若能加 NULL 判断则更好
*m_data = ‘ 0’;
}
else
{
int length = strlen(str);
m_data = new char[length+1]; // 若能加 NULL 判断则更好
strcpy(m_data, str);
}
}
// 拷贝构造函数
String::String(const String &other) // 3分
{
int length = strlen(other.m_data);
m_data = new char[length+1]; // 若能加 NULL 判断则更好
strcpy(m_data, other.m_data);
}
// 赋值函数
String & String::operate =(const String &other) // 13分
{
// (1) 检查自赋值 // 4分
if(this == &other)
return *this;
// (2) 释放原有的内存资源 // 3分
[] m_data;
// (3)分配新的内存资源,并复制内容 // 3分
int length = strlen(other.m_data);
m_data = new char[length+1]; // 若能加 NULL 判断则更好
strcpy(m_data, other.m_data);
// (4)返回本对象的引用 // 3分
return *this;
}
(B)一个C函数可以单独作为一个C程序文件存在(C)C程序可以由一个或多个函数组成(D)C程序可以由多个程序文件组成
4、以下叙述中错误的是_____________。(标准答案:A)
(A)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(B)C语言源程序经编译后生成后缀为.obj的目标程序
(C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中(D)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
13、以下叙述中错误的是A(A)使用三种基本结构构成的程序只能解决简单问题(B)C语言是一种结构化程序设计语言(C)结构化程序由顺序、分支、循环三种基本结构组成(D)结构化程序设计提倡模块化的设计方法
18、以下关于结构化程序设计的叙述中正确的是
(A)一个结构化程序必须同时由顺序、分支、循环三种结构组成(B)有三种基本结构构成的程序只能解决小规模的问题(C)在C语言中,程序的模块化是利用函数实现的(D)结构化程序使用goto语句会很便捷 标准答案:C
19、对于一个正常运行的C程序,以下叙述中正确的是C(A)程序的执行总是从main函数开始,在程序的最后一个函数中结束(B)程序的执行总是从程序的第一个函数开始,在main函数结束(C)程序的执行总是从main函数开始
(D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
33、以下选项中关于程序模块化的叙述错误的是
(A)把程序分成若干相对独立的模块,可便于编码和测试
(B)可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序(C)把采用分成若干相对独立、功能单一的模块,可便于重复使用这些模块
(D)可采用自顶向上、逐步细化的设计方法把若干独立模块组装成所要求的程序 标准答案:D
34、以下叙述中正确的是
(A)C程序中的注释只能出现在程序的开始位置和语句的后面(B)C程序书写格式严格,要求一行内只能写一个语句(C)用C语言编写的程序只能放在一个程序文件中(D)C程序书写格式自由,一个语句可以写在多行上 标准答案:D
36、以下关于C语言数据类型使用的叙述中错误的是(A)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(B)若要保存带有多位小数的数据,可使用双精度类型(C)整数类型表示的自然数是准确无误差的
(D)若要处理“人员信息”等含有不同类型的相关数据,应自定义结构体类型
38、以下叙述中错误的是
(A)C程序在运行过程中所有计算都以二进制方式进行(B)C程序在运行过程中所有计算都以十进制方式进行
其实是一个比较空泛的问题,但是最好提前准备一下,不要表现的对这方面一无所知。显得你根本没有诚意。
2. 如果你有一百万你会做什么?
一个考察你的计划性的问题,不能回答买房购车这样的事情,有头脑的人,永远将投资作为最大的快乐,显示你是个有计划的人,。但是不要浮夸,比如马上开一家公司这样的话,最好不要说,因为你一无所知的时候,如此激进会让招聘方对你产生不信任感。
3. 请和我谈一下你个人对股票的看法?
如果你不清楚,千万要诚恳,谈谈你个人的一些看法就好了,在专家面前班门弄斧可不是明智的选择。如果你提前有查阅相关资料,有这方面的准备,那么恭喜你,一个英明的决定。
4. 请你给我介绍一种你想买的或者想卖的股票?
这个问题,无法给你建议,请提前准备。
5. 告诉我三种你想要买的股票?
只能靠你平时留心了,如果你不了解股票行业并且不感兴趣的话。但是不要瞎说,这样的会造成适得其反的效果。
6. 请讲讲你遇到的最困难的销售经历,你是怎样劝说客户购买你的产品的?
问题解析:不管销售也好还是其他的什么职业。当你去面试时最常见的就是这样的一个问题,让你说说自己曾经的工作经历,考官主要是想从你过去的工作中了解你处理问题的能力,回答这样的问题可以将过去的经历稍微夸大,让考官对你刮目相看。
7. 人们购买产品的主要原因都有什么?
大部分购买行为的发生,并不仅仅只是因为产品的价格或者是产品的质量,每一个人购买某种产品的目的都是满足他背后的某种需求。购买产品的人首先是想获得产品的使用价值满足自身的要求、产品的质量、价格也是促使人们是否购买产品的原因。
8. 关于我们的产品生产线和我们的客户群体,你了解多少?
问题解析:此类问题也是考管在面试时比较关注的,所以在准备面试前,你最好先对你打算进入的公司有一个整体的了解,做到有备而来。 ?
9. 关于销售,你最喜欢和最不喜欢的是什么?为什么?
这个问题是考察你对销售工作的价值取向,你可以回答最喜欢得到签单后的那种快感,不喜欢被客户拒绝等等。销售工作有很多内容,这个工作主要是和人打交道的,所以你要接触很多人,有你喜欢的也有你不喜欢的。
10. 你最典型的一个工作日是怎样安排的?
在《人在职场》中我们给出了一个销售一天的工作安排,可以做为参考,回答这个问题前你应当已经有所准备,好的销售人员一天的工作应该是有序的。
11. 为取得成功,一个好的销售人员应该具备哪四方面的素质?你为什么认为这些素质是十分重要的?
销售人员所应该具备的素质非常多,所以根据行业的不同会得出不同的结果不过推销能力、内在的自信、与客户建立良好关系的能力、严谨的工作作风绝对是所有行业的销售工作者都该拥有的基本素质,销售的工作是以人为工作对象,因此如何处理和人的关系至关重要。以上四个基本素质都是这个方面的体现。
12. 在你的前任工作中,你用什么方法来发展并维持业已存在的客户的?
1、为什么你是这份工作的最佳人选?
a.我干过不少这种职位,我的经验将帮助我胜任这一岗位。
b.我干什么都很出色。
c.通过我们之间的交流,我觉得这里是一个很好的工作地点。
d.你们需要可以生产出“效益”的人,而我的背景和经验能使我成为这样的人。
2、如果你被问到一个判断性问题,例如:你有没有创造性?你能不能在压力下工作?最好的答案是什么?
a.回答“是”或“否”。
b.回答“是”或“否”并给出一个具体的例子。
c.回答“是”或“否”并做进一步的解释。
3、描述一下你自己。
a.列举自己的个人经历,业余兴趣、爱好等。
b.大力宣传一下自已良好的品德和工作习惯。
c.列举3个自己的性格和成就的具体案例。
4、你期望在这个职位中找到什么?
a.我想找到一个好机会,使得我可以运用自己的知识为公司发展做出贡献,同时也能为自己创造进一步的机会。
b.我想找到一个可以认同我的努力和工作成果的公司。
c.我想找到一个可以提供给我足够薪水的公司。我的工作很努力,值得给我那么多钱。`
5、对我们公司都知道些什么?
a.我事先看过一些贵公司的介绍,就我所知,贵公司„„
b.我看过和听过的关于贵公司的一切都深深地吸引着我想加入这个团队。我知道这个行业是„„你们的客户是„„我最感兴趣的是你们„„„
c.关于你们公司,我知道很多,我喜欢在你们公司工作。
6、你有什么弱点?
a.我的同事们什么事都抱怨的时候,我总是很有挫折感。
b.我不大看重个人名誉。对我来说,只要把事情做好,我不在乎谁得到名声。c.我不觉得自己有弱点。
7、你的短期目标是什么?
a.短期内我只想得到一份工作。
b.我已经有很多欠账了,所以短期内我想找到一份工作,然后尽我应有的责任。
一个风雪交加的晚上,一家特快专递公司要送一个非常重要的包裹给客户,送包裹的员工快到客户家时才发现,这位客户住在山顶上大雪已经封死了上山的必经之路,而约定包裹送达的最后期限马上就要到了!于是这位员工当机立断,在没有请示公司的情况下自己作主雇了一架直升飞机,并且自己用信用卡支付了所有费用,把包裹送了上去。客户感动万分,马上向当地媒体通报了这件事,于是这家公司声名大振。
问题:
1、评价这位员工的行为?
2、分析这个案例中折射出的该公司管理文化与制度?
3、如果你是经理,如何处理此事?
首先:员工行为固然可嘉,但不值得提倡,风雪夜还大雪封山,即使快递再重要也不能拿生命去冒险,快递行业的特点决定了员工在企业运行中的重要作用,人力资源才是最重要的;
第二、企业的文化可能是顾客价值和服务价值至上,强调服务的质量和顾客的满意度,从理论上说这也是符合快递行业的企业价值观和使命的,但公司管理制度存在上些问题需要改善.
最后、作为HR经理在处理这件事情的时候,1.要报销员工的费用,2.配合媒体的报道将这位员工做为公司价值的典型进行宣传,借机扩大企业影响力;3.对此位员工给予适当的奖励,对员工维护企业信誉的方面做出肯定.最后需要在今后的工作中,要提高员工的福利保障,同时对员工灌输生命价值至上的价值观,另外,优化公司内部管理SOP.
总之、企业的发展不是一朝一夕的事情,也不是一件两件事情就能对其产生决定性的影响,对企业忠诚的员工才是企业最大的财富。谢谢大家!
如果我是人力资源部经理
前几天跟一个朋友聊天,问到我对HR的看法(因为我不是做HR的),我说我从毕业至今也进过四五家公司,国企、台企、港企也都做过,不同企业HR的地位和定位也都不同,有的公司的HR根本就是人浮于事,每天在为一些细末小节的事在忙碌着,而有的公司的HR权力很大,基本上用人不需要经过使用部门同意他们就可以决定(我自己就遇过),而有的HR看起来似乎很正规,但是根本就不知道他们存在的意义,而仅仅是自己认为自己很重要,但是又不了解别人需要什么。昨天跟公司的一位同事的聊天,突然聊起那天自己的这点想法,我突然跟我的同事说,如果我是人力资源部经理,我会让我部门的HR在入职的时候到各部门去学习一个月,了解其他部门的工作流程,拉近跟其他部门的距离。我为什么会这么说呢?
首先我先问几个问题:
1、您了解公司其他部门的运作吗?
2、如果您的公司有生产系统,您了解生产过程吗?您了解生产体系一线员工的想法吗?
3、如果您的公司没有生产一线员工但是有销售,您了解销售人员的工作流程吗?您知道销售人员是如何进行工作的吗?
4、也是最后一个问题:您认同HR是服务部门吗?
最后一个问题我想不会有争议,那么大家既然是服务部门,那么服务的对象是谁?老板还是员工?还是两者皆有?
老板的层面我们暂且不说,就说说员工,既然我们服务于员工,我们了解员工的想法,知道我们的一线员工是如何开展工作的吗?
这几个问题绝不是空穴来风,是因为我看到过很多的HR在开展工作时很多时候是建立在自己对于一线员工的浅薄了解上,或者说因为工作的接触很少,根本就没了解过一线员工,然后在制定制度的时候又是网上一大抄,要不就是凭空想象出来,然后就发布出去了,这样的制度您说员工有几分认同?是的,作为HR,既要保障公司的利益,又要保障员工的利益,但是我们更多时候考虑的对象更多的是倾向于前者,而非后者,这个根本原因有很大程度上是因为我们缺乏对服务部门员工的了解。
我记得曾经认识一位做绩效管理的专业HR,其专业能力我觉得还是不错的,当时他刚在一家公司入职,推行绩效管理体系,开始阶段让整个公司做职务分析,所有的岗位都要求写工作日志,当然我很相信其出发点是没有问题的,但是结果却是引起了员工的公愤,觉得把自己上班的一举一动都写进去,无疑是监控员工的行为,于是乎这位专业的HR在进入这家公司没多久就黯然离职了。我们总觉得我们的工作靠的是专业能力,却很少考虑到我们的服务对象的感受,这也就很容易在一些事情上造成对抗,导致工作的难度。
我见过很多HR做出来的制度,要我评价我只能说脱离群众,完全是凭空想象出来的,自己觉得是这样的,但是事实却不是这样的,这样的制度在一线员工看来就是不切实际,既然不切实际我们又不能不理它,那么也就有心理冲突,这种心理冲突积累到一定程度势必会造成更多的员工纠纷。
所以,如果我是人力资源部经理,我会让我部门的新进员工在熟悉本部门工作之前先到我们的一线现场每个岗位去学习一段时间(一周或一个月),熟悉各岗位的员工是如何工作,他们的工作心态是怎样的,他们的工作环境又是怎样的,他们对于公司的制度、文化有什么样的看法,在这段时间我们的HR可以通过与一线人员的交流来了解到这些信息,并且可以拉近与现场人员的距离,不要让一线人员总觉得HR高高在上,而HR则认为一线人员粗鲁不堪,这两个极端化的认识总影响着员工关系的建设。
Follow Up Question: 如果每次可以爬两层,和倒退一层,同一个位置不能重复走,请问爬到第n层有多少种不同的方法?
答:这道题属于简单的数组一维动态规划
1. State:f[i] 表示爬到第i层的方法数目。
2. Function: f[i] = f[i-1] + f[i-2] 第i层的方法数目等于第i-1层数目加上第i-2层数目
3. Intialize: f[0] = 1, f[1] =1 初始化 最开始没有爬和第一层的方法数目为1.
4. Answer: f[n] 爬到第n层有多少种不同的方法
Follow Up Question:
这道题与原来的题相比提升了一个难度,主要是倒退一层,这个地方可能会违背动态规划无后效性的原则。 那么我们要怎么转化呢?
由条件:同一个位置不能重复走。我们可以知道如果要退步的话,不能退两层以上,因为用两步退两层再一步前进两层,那就会走相同的位置。所以我们最多只能退后一步。
那么题目的条件就可以转换两种情况,
a.跳两层(前进两层)。
b.退一层跳两层 (前进一层)。
1. State:f[i][0] 表示最后一步是跳两层情况下爬到第i层的方法数目。f[i][1] 表示最后是一步是退一层跳两层的情况下爬到第i层的方法数目。
2. Function: f[i+1][1] = f[i][0] 最后一步是退一层跳两层的情况下爬到第i+1层的方法数目等于从第i层情况a的数目跳两层退一层。这里不能考虑第i层的情况b的方法数,因为第i层情况b的数目是从第i+1层退一步得到的。
f[i+2][0] = f[i][0]+f[i][1] 最后一步是退一层跳两层的情况下爬到第i+2层的方法数目等于第i层所有情况跳两层。
3. Intialize: f[0][0]=1初始化最开始没有爬的方法数目为1.
死法一:学生气
叙述人:王梅,女,23岁
专业:会计
面试 岗位:外事
当我在 招聘会 上看见自己心仪已久的那家知名高薪企业时,心里既高兴又紧张,除了我,其他闯入 面试 的都是男生。考场是一个很小的会议室,中间是一张圆桌。考官坐在圆桌一边,我们坐在另外一边。服务员拿来六杯水,男生们直接拿起水杯就开始喝。我一转念,几个考官都还没有水喝呢,于是很有礼貌地把杯子递给离我最近的一个考官。
“根据你的性格特点,我们想把你安排在外事部门,不过户口方面可能还需要再争取。”我左思右想,轻轻咬着下唇说:“要不,我跟爸爸妈妈商量一下。”
主考官也突然愣了一下,“好吧。”他微笑着说:“不过要记得,以后你参加面试的时候,不要说‘和爸爸妈妈商量’,因为这样会显得你没有主见,明白吗?”
点评:凡事依靠父母的是学生,而非职场中人。
死法二:不自信
叙述人:郑迎,女,24岁
专业:法律
面试岗位:招商顾问
在招聘会上,我看上了一个日商投资的外贸公司。我特意重新打扮了一番来给自己增加自信。一排看似威严的人士簇拥着老板模样的人坐在会场上方,原来是日本老板亲自面试。一看这架势,我的心跳不由自主地加速起来。突然想起学长以前的经验,心里开始暗自念着:要谦逊、谦逊……
主考官的第一个问题就把我呛住了。“我们招的是专科学历,你是本科,怎么会来应聘这个岗位?”我支支吾吾地回答:“我觉得你们公司挺好的,也比较适合我的专业。”“我们公司好在哪里?这里工作压力很大,平时要经常加班,你可以适应吗?试用期只有基本工资800元,其他什么福利也没有,能接受吗?”在等待是否进入复试的空档,我长长地嘘了一口气。终于等到了“宣判”的时刻,主考官面带微笑地告诉我:“小姑娘,你的条件不错,不过以后再去面试要自信点……”
点评:缺乏自信的人会让人有学习能力差、推诿塞责的联想,肯定不受用人单位欢迎。
死法三:抢风头
叙述人:李魁,男,23岁
专业:国际贸易
应聘岗位:营销企划
参加学校里的招聘会时,我杀入了一家国内知名企业的面试现场,据说投 简历 的就有数百人,最后杀进面试的只有30多人。当时我们被分成三人一组回答面试官的问题,我觉得要脱颖而出必须表现得更积极,
所以在回答问题的时候,我总是抢在别人前面,比别人多说两句。
面试官问:“如果你的同事中有不好沟通的人,你怎么办?”别人还没有说话,我就抢着回答:“最重要的是工作,每个人都有自己的个性,不需要去勉强。”整个面试下来,有2/3的问题都是我回答的,而且越说越顺根本忘了要收敛。一个星期后我收到通知,被客气地告知不需要参加复试了。因为公司觉得我不注重团体合作精神,太急于表现自己,不是他们需要的人才。
点评:自信和骄傲有时就在一线之间,骄傲的人令人生厌,没有团队合作的概念,不合群,用人单位绝不会喜欢一个单打独斗的独行侠。
死法四:选地区
叙述人:康林,男,22岁
专业:文科
面试岗位:经理
“我的首选是出国,其次是留京,再不行就去广州。”中国人民大学新闻学院的康林说。目前班里45名学生都还没人打算到基层,身边的同学动过“去西部”念头的也不多,大多数人还是瞄准了北京、上海等大城市。虽然国家鼓励下基层的政策已为数不少。然而调查发现,优惠政策仍难以解除学生的重重疑虑。“下基层?就算不担心收入少,也会被嘲笑‘没本事’。尤其是对于一些来自农村的大学生,如果不能留在大城市就感到无颜面对家人。”
点评:这并不仅仅是“面子”问题,基层特别是西部地区发展相对落后,收入水平与发达地区相比差别较大,城乡转换成本过高,大学生担心“下去容易上来难”。这里面也有基层本身的观念问题,有对人才的排挤以及旧有体制问题。
死法五:不切实际
叙述人:夏磊,男,23岁
专业:工科
面试岗位:机械工程师
夏磊参加了很多的招聘会,大大小小加起来有十多场。在上海市举办的招聘会上,主考官对他非常满意,于是开始谈最后的薪资。夏磊觉得今年找工作的情况那么严峻,自己能找到一份就不错了,怎么还能讨价还价呢?于是他回答:“无所谓,都可以!”主考官马上阴沉着脸,请他回去等通知,就再也没有了消息。
点评:薪资是你对自己水平的一个衡量标准,也是对你工作满意程度的回报。一个连自己薪资都无所谓的人,还能期望他对以后的工作和公司有干劲吗?
【华为c语言经典面试题】推荐阅读:
常见华为面试题07-22
c语言概念题09-22
c语言试题 判断题11-27
大一c语言期末编程题10-07
c语言程序设计基础题10-28
c语言程序设计补充题11-17
c语言程序设计题集12-13
黑马程序员:IOS面试宝典之c语言07-20
华为面试的真实经历07-18
c语言总结07-15