tag 标签: 面试

相关博文
  • 热度 2
    2021-1-19 22:47
    1237 次阅读|
    0 个评论
    原文: https://zhuanlan.zhihu.com/p/342410727 第一部分:基本概念 1.关键字static的作用 (1)在函数体内:一个被声明为静态的变量,在这一函数被调用过程中,维持其值不变。(该变量值初始化一次) (2)在模块内,函数体外:一个被声明为静态的变量,可以被模块内所用函数访问,但不能被模块外其他函数访问。 (3)在模块内,一个被声明为静态的函数,该函数只能被这一模块内其他函数调用,其他模块无法调用。 2.引用与指针的区别: (1)引用必须初始化,指针不用 (2)引用初始化后不能修改,指针可以改变所指对象 (3)不存在指向空的引用,指针存在空值 指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。 引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。 关-注-公-众-号:嵌入式基地 回-复:【面试】 获-取-面-试-资-料 3..h头文件中的#ifndef/#define/#endif作用: 防止头文件被重复引用 4.#include 与#include “”区别: 是从系统指定的路径下寻找;””是先从当前路径下寻找 5.描述实时系统的基本特性: 在特定时间内完成特定的任务,实时性与可靠性。 6.全局变量与局部变量是否存在区别? 全局变量存在静态数据区,局部变量存在栈中 7.堆栈溢出一般是由于什么原因? (1)没有回收垃圾资源 (2)层次太深的递归调用 8.冒泡排序算法的时间复杂度 O(n^2) 9.什么函数不能声明为虚函数? 构造函数 10.队列与栈的区别: 队列:先进先出;栈:先进后出 11.不能做switch()的参数类型 实型 12.局部变量是否能和全局变量重名? 可以。局部变量会屏蔽全局变量。若要使用全局变量,使用::。 在函数内引用该重名变量时,会使用同名的局部变量,而不会使用全局变量(就近原则)。 对一些编译器而言,同一函数内可以定义多个同名的局部变量,例如:在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在该循环内。 13.如果引用一个已经定义过的全局变量? 可以包含其头文件,也可使用关键字extern。 引用头文件:通过引用头文件的方式来引用某个头文件中声明的变量,假如将该变量写错了,在编译阶段会报错。 Extern:通过extern的方式引用,若将变量写错,编译阶段编译器不会报错,在链接阶段会进行报错提示。 14.全局变量能不能定义在可被多个.c文件包含的头文件中? 可以。在不同的C文件中以static的形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是只能在一个C文件中对变量赋初值,此时链接不会报错。 15.for(;1;)有什么问题?什么意思? 与while(1)相同,无限循环 16.do…while()与while…do有什么区别? 前者循环一遍后再判断;后者先判断后循环 17.static全局变量、局部变量、函数与普通全局变量、局部变量、函数有什么区别? (1)static全局变量与非static全局变量区别: 存储方式上相同,都是静态存储。 作用域:非static全局变量的作用域在各个文件中都是有效的;static的全局变量作用域只限于当前源文件中,只初始化一次。 (2)static函数与普通函数作用域不同。Static函数只能在当前源文件中使用,而非Static函数可以在其他源文件中使用。 (3)static局部变量只初始化一次,下次调用使用上次的数值。 18.程序的内存分配 C/C++编译的程序占用的内存分为以下几部分。 (1) 栈区,编译器自动分配释放,存放函数的参数值,局部变量的值等。操作方式类似于数据结构中的栈。 (2) 堆区,由程序员分配释放。若程序员没有进行资源回收,程序结束时,可能会由OS回收。与数据结构中的堆是两回事。 (3) 全局区(静态区),全局变量与静态变量是存储在一起的。初始化的全局变量与初始化的静态变量在一块区域,未初始化的全局变量与未初始化的静态变量存储在一起。程序结束后由OS释放 (4) 常量区,存储常量,字符串。程序结束后由OS回收。 (5) 程序代码区,存放函数体的二进制代码。 示例: int a = 0; //全局初始化区域 char *p1; //全局未初始化区域 int main(int argc, char const *argv = “ssssss”; Char *s2 = “bbbbbb”; aaaaaa是在运行时赋值的,bbbbbb是在编译时确定的。 但在以后的存取中,栈上的数组比指针指向的字符串(堆)块。 void main() { char a = 1; char c ; a = p ; return; } 对应的汇编代码 10:a=c ; 004010678A4DF1movcl,byteptr 0040106A884DFCmovbyteptr ,cl 11:a=p ; 0040106D8B55ECmovedx,dwordptr 004010708A4201moval,byteptr 004010738845FCmovbyteptr ,al 第一种:在读取时,直接将字符串中的元素读到寄存器c1中 第二种:先将指针读取到edx中,再根据edx读取字符。 20.什么是预编译,什么时候需要预编译? 预编译又称为预处理,是做代码文本的替换工作,处理#开头的指令,比如拷贝#include包含的头文件代码;#define宏定义的替换。在程序开始编译之前进行。 C语言编译系统在对程序编译之前,先进行预处理。预处理主要提供以下功能: (1)宏定义(2)头文件包含(3)条件编译 21.关键字const含义 const 只读 应用: const int a; //常整型数 int const a; //常整型数 const int *a; //a是一个指向常整型数的指针(指针可以修改,整型数不可修改) int * const a; //a是一个指向整型数的常指针(指针不可以修改,整型数可以修改) const int * const a; //a是一个指向常整形数的常指针(都不可修改) 使用const关键字的理由: (1) 为读代码的人提供非常有用的信息,实际上应用一个参数为常量是为了告诉用户这个参数的应用目的。 (2) 通过给优化器一些附加信息,使用关键字const也许能够产生更紧凑的代码 (3) 合理使用const可以使编译器很自然的保护那些不希望被修改的参数,防止其被无意的代码修改。 22.关键字volatile含义?应用例子: 含义: 一个被定义为volatile的变量是说这个变量可能会被意想不到的改变,这样编译器就不会去假设这个变量的值了。准确的说,优化器在用到这个变量时,必须每次都小心点重新读取这个变量的值,而不是直接使用寄存器中的备份值。 应用: (1)并行设备的硬件寄存器 (2)一个中断服务子程序中会访问到的非自动变量。 (3)多线程应用中被几个任务共享的变量 其他问题: 1. 一个参数既可以是const还可以是volatile吗?为什么? 2. 一个指针可以是volatile吗 3. 下面函数有什么错误 Int square(volatile int *ptr) { Return *ptr * *ptr; } (1) 可以,一个例子为只读的状态寄存器。它是volatile是应为他可能被意想不到的改变。它是const是应为程序不因该去修改它。 (2) 是的,虽然不常见。一个例子为中断服务子程序修改一个指向一个buffer的指针时。 (3) 这段代码的目的是为了返回指针*ptr的平方,但是由于*ptr是一个指向volatile类型的参数,因此编译器将产生类似于下面的代码: int square(volatile int *ptr) { int a, b; A = *ptr; B = *ptr; Return a * b; } 由于*ptr的值可能被意想不到的改变,因此,a与b的值可能不同,结果这段代码返回的结果与预期可能并不相同。 正确代码: int square(volatile int *ptr) { int a; A = *ptr; Return a * a; } 23.三种基本数据模型 按照数据结构类型的不同,将该数据模型划分为层次模型、网状模型、关系模型 24.结构体与联合体有什么区别 共用体,允许在相同的内存地址存储不同的数据类型;可以定义一个带有多成员的共用体,但是任何时候只能有一个成员带有值。共用体提供了一种使用相同内存地址的方式 共用体,占用的内存应该足够存储共用体中最大的成员。 结构体,占用内存是内部所有变量所占空间之和。结构体,每个成员变量都有自己的内存地址。 25.#define与const区别: 1.const有数据类型,宏定义没有数据类型;编译器可以对前者进行安全检查,对于后者不能进行安全检查,只能进行字符替换。 2.有些调试工具可以对const进行调试,而宏定义无法调试。 3.const定义的常量有作用域,而#define不重视作用域,默认定义处到文件结尾。 26.数组与指针区别: 数组要么在静态数据区被创建,要么在栈上被创建。 指针可以随时指向任意类型的内存块。 (1)修改内容上的差别: char a = ‘x’; Char *p = “world”;//p指向的是常量字符串 P = ‘x’;//编译器无法发现该错误,运行时会报错 (2)使用sizeof()运算符计算容量: 数组可以使用sizeof计算出容量,而sizeof(p)计算得到的是一个指针变量的字节数,一般为4个字节,而不是p所指向的内存容量。 注意:当数组作为函数形参进行传递时,该数组自动退化为同类型指针: void TestBufferSize1(char a ) { printf("buffer size = %d \r\n", sizeof(a)); } int main(){ char b = "12345"; printf("b size = %d \r\n", sizeof(b)); TestBufferSize1(b); TestBufferSize2(b); system("pause"); } 27.分别写出bool、int、float、指针类型的变量a与零比较的语句: (1)bool: If(!a) or if(a) (2)int If(a == 0) (4)float: Const EXPRESSION EXP = 0.000001 If(a -EXP) (5)指针: If(a != NULL) or if(a == NULL) 28.如何判断一段程序是由c编译还是由c++编译程序编译的? #ifdef __cplusplus cout << "c++"; #else printf("c"); #endif 29.讨论含参数的宏与函数优缺点: 带参宏 函数 处理时间 编译时 程序运行时 参数类型 没有参数类型问题 定义实参,形参类型 处理过程 不分配内存 分配内存 程序长度 变长 不变 运行速度 不占用运行时间 调用和返回占用运行时间 30.使用两个栈来实现一个队列的功能 设两个栈A,B,并将其初始化为空 入队: 将新元素push入栈A; 出队: (1) 判断栈B是否为空 (2) 若不为空,则将栈A中的所有元素依次pop出,并push到栈B (3) 将栈B的栈顶元素pop出 这样的实现,入队与出队的平摊复杂度都为O(1) 31.位操作 给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a的bit 3。在以上操作中,保持其它位不变。 (1) 通过宏定义,以及bit masks操作。这种方法可移植性高 #define BIT3 (0x01 << 3) static int a; void SetBit3(void) { a |= BIT3; } void ClearBit3(void) { a &= ~BIT3; } (2) 使用bit fields。Bit fields是被扔到C语言死角的方式。这种方法保证了你的代码在不同编译器之间是不可移植的,同时也保证代码是不可重用的。 32.访问固定的内存位置 嵌入式编程中,经常会去访问某个特定内存位置的数据。在某个工程中,需要设置一个绝对地址为0x56a3的整型变量的值为0x3344。编译器是一个纯粹的ANSI编译器。 (1) 方法一: int *ptr = NULL; ptr = (int *)0x56a3; *ptr = 0x3344; (2) 方法二: *(int * const)(0x56a3) = 0x3344; 推荐使用第一种。 33.中断 中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供了一种扩展—让标准C支持中断。 具体代表的事实是,产生了一个新的关键字__interrupt。 下面这段代码使用了__interrupt关键字去定义了一个中断服务子程序(ISR),请评价这段代码。 __interrupt double compute_area(double radius) { double area = PI * radius * radius; printf("\nArea = %f", area); return area; } (1) ISR不能返回一个值 (2) ISR不能传递参数 (3) 在许多编译器中,浮点数一般是不可重入的。并且,ISR应该是短而有效的,在ISR中做浮点数运算是不明智的。 (4) Printf()经常有重入与性能上的问题 34.typedef Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事情。 例: #define dPS struct s * Typedef struct s *tPS; 以上两种情况都是要定义dPS和tPS作为一个指向结构s的指针。哪种方法更好? 答:typedef更好,原因请看下面示例。 dPS s1,s2; tPS s3,s4; 第一个展开为struct s *s1,s2;此时,s1指向的是结构的指针,而s2是一个实际的结构。 35.写一个“标准”的宏 (1)交换两个参数的宏定义 #define SWAP(a, b)\ (a) = (a) + (b);\ (b) = (a) - (b);\ (a) = (a) - (b);\ (2)输入两个参数,输出较小的参数 #define MIN(a, b) (((a) < (b)) ? (a) : (b)) (3)1年中有多少秒?(忽略闰年) #define SECONDS_OF_YEAR (60 * 60 * 24 * 365)UL (4)已知一个数组table,使用宏定义求出数组元素的个数 #define TABLE_SIZE (sizeof(table) / siezof(table ))
  • 热度 4
    2018-4-22 22:52
    1750 次阅读|
    6 个评论
    我在工作的时候有一个特点,就是希望能尽量缩短上下班的通勤时间。一个原因是我不想把时间浪费在通勤的路上;另外一个原因是我特别不喜欢坐公交车,挤地铁。那会让我我特别头晕,甚至呕吐。所以我宁愿多花钱在公司附近租房子。也不愿意省下一些房租,去挤公交地铁。 所以换工作对于我来说。还有一个重要的问题,就是重新租房子。我目前在北京工作两年不到。这已经是我第三次换地方住。虽然每一次都有每一次的不如意,但是整体感觉上是一次比一次好。刚来北京,第一次租的房子,是一个隔断房。就是终日不见阳光,只能开灯。房间大小只容得下一张床和一张桌子,以及一个床头柜。房子到期后。我第二次租房有些曲折,先是被黑中介坑骗,打110没人管,住建委没人管,市长热线也是踢皮球,后来逼得我直接去法院去维权,终于把骗我的钱要回来一部分。 后来,在公司附近找了一个二房东,从他手里租赁一个次卧。这回房间里是有窗户,这回终于可以见到光了。但是对面住过的人是半夜上班的,大家作息时间不同,我半夜总是被对面炒菜的声音吵醒。 现在我已经是第三次租房,由于上一次被黑中介坑骗的经历,这一次就直接找了正规的中介公司。虽然贵了一些,但是会方便很多,我觉得这一次非常满意,没有可挑剔的时候,意外还是发生了。本来计划我们是四个人住两室一厅。等我去中介公司把房子定下来,交了中介费跟房租之后。另外的两个朋友竟然临时决定不租了。但是我的钱已经交了,中介又不能退,所以这就等于我们两个人的房租在原来基础上直接翻了一倍,目前我租的房子我还正在转租中,哎…… 生活中这些突如其来的变动,有时确实会扰乱我的情绪,让我很闹心,让我充满了焦虑感。但是另一方面。我想这大概就是生活对我的磨练,一个人的生活总有这样或者那样的不如意。没有哪个人的人生永远是顺风顺水的,有了波澜,你的一生才够精彩。 离职笔记之离职篇 离职笔记之面试篇
  • 热度 2
    2018-4-22 22:38
    2029 次阅读|
    2 个评论
    在离职之后,我很恐惧的,其实是面试和笔试的环节。我很担心自己,在某一方面有欠缺,不能满足公司的要求,而得不到录用。 投简历的时候,我先找了几个目标公司,针对性的投递了简历。我希望能收到面试的机会,其实我很希望能到大公司去锻炼一下。但是情况并不如所愿,我投简历的几个大公司都没有给我回复,应该是我水平太低了。 这个时候我就有些慌了。然后开始在招聘网站上海投简历。我现在在的这家公司,面试我的时候,确实有点奇葩。面试的经理问我的问题,我都答不上来。既然答不上来,我也没有乱说。我只是诚实的回答,你说的这个我听说过名字,但是具体的是啥我还不了解。当时我在写简历的时候。我已经尽力在简历上把自己写的好一点,希望能够先通过简历,得到一些公司的面试机会。其实我简历上写的工作经历是很单薄的,没有什么实质性的项目经验,这让我感到很自卑。 面试的时候经理让我说一下,做过哪些项目。我的回答也是含糊其辞,因为我只是参与了项目的一部分,而且还是半道插进来的,我感觉自己在面试过程中,表现的很差,估计也不能达到公司的招聘要求。但是面试我的经理最后还是说,你可以过来,但是你现在的水平确实很低,过来以后你要学习很多东西。这让我很惊讶,为什么我面试的这么糟糕?他最终还是录用了我。经理回答说,因为我在简历上写了自己在学校每年都拿奖学金的事情。然后经理说,你虽然现在基础差一些,但是我看你在学校的学习成绩挺好,这说明你是一个爱学习的人,只要你爱学习,后面掌握东西就不成问题。 后来我在反思这件事的时候觉得有些不可思议。也就是说,在面试过程当中。你完全意想不到,面试的人会看重你哪些特质?我们在准备面试的过程当中,可能会朝自己认为面试过程当中重要的事情去准备。但是往往面试官会看到你的另外一面。这让我想,不管你做什么,只要你做得足够出彩,总会引起别人的注意。有时候生活就是这么狗血,当你努力去做一件事情的时候,他未必能成;当你不再心心念念这件事情的时候,它反而自然而然成了。这大概就是所谓的,有心栽花花不开,无心插柳柳成荫吧。 其实,总共我就面试了这一家公司,后面又陆续收到过几家公司的面试,我就没有再去了。我觉得既然觉得合适了,就可以了,没有必要把时间花在纠结和选择上,我的目标很简单:希望新工作能够让自己学到新的东西并且开出的工资让自己满意。既然这两条都满足了,我还有什么犹豫的呢?犹豫一天就是浪费一天的钱和时间,我还不如马上让自己投入到新工作中去。 我从上家单位离职到新单位入职,中间只隔了一天时间,可以算是基本是无缝连接了。 离职笔记之离职篇 离职笔记租房篇
  • 热度 1
    2018-4-22 22:17
    2242 次阅读|
    2 个评论
    现在入职已经有两周的时间了,前段时间,已经写过一篇,这一次想把这段时间离职过程当中遇到的事儿,以及一些想法分三个模块分享出来。 这篇主要谈离职。 首先,我有这个想法,已经很长时间了,大概从去年开始吧。而离职的主要原因就是感觉平常学到的东西很有限,感觉到自己没有很好的成长空间。另外在北京来说,工资也相对低一点。其实工资相对于我当时的工作来说也是匹配的,因为我干的就那些水平的话,所以只能开到那些工资。这对刚毕业的我来说,还可以接受,但是已经接近两年的时间,这份工作显然就不再合适了。 其实提离职的时候,内心也是有很多纠结的。我首先纠结的一点就是:我现在的水平是什么水平?离职后下家会不会好找?我能不能找到自己满意的工作?这些都是问题。另外还有一点就是,当你已经熟悉你目前的工作之后,你再做出离职的决定,是需要很大勇气的。也就是说,对于很多人来说,即便是不喜欢目前手头上的工作。即便是觉得工资低一些,也是不愿意选择离职的。这其中的重要原因就是,人们都不喜欢改变,人们在一个环境中呆久了,就会慢慢的适应这个环境,并且依赖这个环境。当你试图选择改变的时候,你会觉得非常痛苦,甚至有些恐惧,这种恐惧是源于对未知的恐惧,因为你不清楚,接下来将要找到一个什么样的工作?面对什么样的人? 当然,我这方面的恐惧是存在的,其实所谓离职,更多的还是一种权衡吧。当你离职的欲望已经大于了对未知的恐惧。你肯定就会选择改变,即便这改变未必会是好的。但是目前的状态已经是你无法忍受的了,之所以拖到现在才离职,其中一个重要原因是因为公司的研发奖金是到年底才发的。其实所谓的年终奖,只不过是把钱从你每个月的工资中扣出来一千块钱,到年底的时候一块发。而且美其名曰,公司的工资体系就是这样。我这里无意诋毁原来的公司,只是觉得这样做不好,大家谁都不傻。 非常庆幸,我所在的研发部,大家相互之间相处,特别融洽。但这不足以构成我不离开的原因。毕竟员工之间相处得再好,公司也不会给你多发工资。我很庆幸,第一份工作,能有一个这样融洽的环境。跟经理提离职的时候,也是在他的意料之中。因为之前我找他谈过一次话,我跟他说,我想做一些项目上的工作,希望自己能在技术上有一定的深入,不想做日常的一些繁杂重复的工作。经理说,在公司现在就是这个现状,很多东西都是集成的,所以只能从其他公司买产品来测。自己不可能去研发,所以没有这么多的研发任务给你做。 其实关于加工资这一块,经理也是有很少的发言权的。基本是领导层决定的以及所谓的工资体系。我离职的时候。也没有打算藏着掖着。在投简历面试之前,我就跟经理把事情说明白了。经理也同意了,给我差不多一个月的时间交接工作。我可以在这段时间投简历面试。同时我也很感谢带我的师傅,他对我的离职一点也没有惊讶。而且在我投简历面试的时候,我的师傅还主动帮我修改简历,提各种意见,告诉我面试的各种方法技巧以及以后职场道路上的一些忠告。 做一份工作,很像两个人谈恋爱,有时候谈着谈着,随着时间的流逝,即便是双方都没有做错什么,但是已经不爱了。所以就选择了分开。所谓的分开。并不是从此一刀两断,两死不相往来。而是带着美好的回忆,去各自找寻属于自己未来的幸福。每个人都有每个人的成长轨迹和职场规划,即便是你没有什么明确的目标,你肯定也会觉得,冥冥之中,有种东西在牵引着你不断向前。 离职笔记之面试篇 离职笔记租房篇
  • 热度 18
    2013-10-16 15:38
    1538 次阅读|
    2 个评论
    有些专门从事“猎头”业务的经纪人在对找工作的人介绍经验时,把准备个人简历和面试过程视为两个不同的任务。个人简历的作用,相当于一块敲门砖。如何使敲门的声音足够大,能让里面的人听见,同时又表现的有特点,不失礼貌,让里面的人产生“急于一见”的感觉,是准备简历的技巧。但是,待里面的人一旦开门后,你的表现能否得到信任,让人感觉到你就是那个他们所期望的人,从而最终允许你跨过那道门槛,这就是面试的关键所在了。 我先后在Nortel的两个部门进行了面试。而面试的过程却并不如同我原来想象的那般让人紧张。一次面试所面对的是部门经理加上另外两个同组的工程师,而另一次则只是和经理一个人的谈话。在面试的过程中,他们对技术背景的了解,只是限于让我自己介绍一下,并没有过多的刨根问底。大部分时间,都用来了解我对所作工作的认识,如何应对团队工作环境中的各种问题,已及对个人发展如何考虑等等。 在以后的若干年里,我又参加过来自不同公司和在不同场合的多次面试。我发现在美加地区,这个过程都大同小异,而并非Nortel所独有。如果要较真儿的话,那还可以说,在大公司与小公司之间还是有些区别。对大公司而言,通常更加注重对候选人的“软”能力的考核,诸如,是否有自主工作能力,对新技术和知识的敏感程度,团队合作精神,对自己的强项和弱点的认识,等等。大公司通常都有自己的培训系统,并相信员工在技术知识方面的欠缺是可以通过培训和自我学习弥补的,因为在高科技领域,知识更新非常快,仅靠原有的底子肯定是不够的。所以对员工的自我提高能力尤为重视。当然,这样做的前提是,你在简历中所描述的所具有的技能不能水分太大,否则一上手就可以知道你到底行不行。大公司所给的“offer”通常都有三到六个月的试用期。明显能力不济的很快就会被淘汰。 以此相反,小公司的面试,则一般更侧重“实惠”,更着重对技术能力的了解,以及对过往所从事过项目中所用到的技术的熟悉程度。毕竟这些直接关系到进来的人能否马上进入角色。不过,诸如像听说在国内一些公司进行的“考试”类的面试,却从来没遇到过。至多是让在纸上,或黑板上写写画画,示意一下。 不论大小公司,在对候选人面试时,都会遵循一些基本的原则。比如:对来面试的人要予以充分的尊重,不能问及个人隐私类的问题:像年龄,宗教信仰,家庭背景,等等。诸如国内一些招人部门动辄要求“男性,三十五岁以下,未婚(或已婚)”等等类似的用人标准,在这里绝对不允许。因为这种要求带有明显的歧视性,与当地的社会道德标准有着根本的冲突,是完全不能接受的。这种要求会给用人方带来巨大的麻烦,很可能会有法律纠纷。而且,一旦进入法律程序,法院绝不会对公司方面给予支持。曾经有过一个案例:一个黑人女性去应聘一份工作,尽管用人方没有明说,但她感受到了由于她的肤色和性别的原因,使她没能得到这份工作。于是她决定诉诸法律。尽管这个过程很漫长,但最终的结果是,法院判处,公司一方因为没能证明她的技能不适合这个工作,所以必须雇佣她。抛开这位黑人女性这样进入公司后的境遇如何不论,这个结果无疑给了所有雇主一个明确无误的警示。 除此之外,这个过程也有一些不言而喻的“潜规则”。比如,用人一方可以询问候选人过去设计过哪类产品,熟悉哪类技术,设计手段和工具,现在服务的公司大致背景情况等等,但却不应该对其从事过的项目内容刨根问底,了解细节。因为,这有可能涉及到别家公司的技术及商业机密,有“偷窃”之嫌。特别是对于来自其直接的竞争对手的候选人更是如此。此种行为一旦被对方抓住把柄,麻烦就小不了。另一方面,如果被面试的人为了争得被录用的机会,向用人方表示可以把现在公司的技术商业机密带过来,其结果恐怕会适得其反。在高科技领域里,员工跳槽是很常见的事。这种行为如果得到鼓励,今天,你从他口里了解了别人的秘密,转天他离开后亦可以把你的秘密告诉别人。让人很难相信这是个值得信赖的人。谁都断不会为这点小利去冒此风险。 当然,我也碰到过例外的情况。我曾经参加过一家国内的“著名”企业在这里的面试。负责面试的人很热情,表现出求贤若渴的态度。虽然他的态度很客气,但其谈话方式和所问的问题却让人很不舒服。不但把年龄家庭这类让这里的人很忌讳的问题问了个遍,而且对我原来的公司产品的设计方案,实现方法以及目前用户方面的情况刨根问底,不达目的不罢休。让人实在怀疑,他感兴趣的到底是人还是别家公司的底细。也许是他觉得都是中国人,没有顾虑,所以直截了当,对我有些炫耀地说:你们的那些产品是怎么回事我们都知道。我们的工程师玩那些设备可能比你们还溜!是,我相信会是这样。我也相信他的这种谈话方式在国内可能再正常不过。但他总该知道“入乡随俗”的道理。在这边做事,总该先做做功课,起码了解一下如何做表面文章。面试是个双方了解的过程。以这种方式面试,其结果如何可以想象。事后我问起我的一个俄罗斯同事的感受,他断然表示,只要有一点儿可能,他就不会为这家公司工作。 扯远了。 经过在Nortel的两次面试后,就是等待。这个过程往往让人觉得非常漫长,特别是在这是一家你非常想去的公司的情况下。中间,我曾接到过其中一个对我进行面试的经理的电话,说我的面试结果让他们很满意,我现在是处于他们候选人名单的“Top List”上,这更让我充满了期待。终于,我等的结果来了。在又一次给我打电话确认了我的意愿后,我收到了一大包Nortel人力资源部门寄来的资料,即所谓的“Job Offer”。其中除了确认了我的职称,所列出的工资数目也如我所料,比我现在水平高了不少。让我立时觉得,哥们儿现在有钱了! 当然,更重要的是,我终于跨过了那道门槛。   Nortel - 一个贵族的兴衰 1. 梦幻之地 Nortel - 一个贵族的兴衰 2. 穹顶下的王国
相关资源