存档

‘生活’ 分类的存档

风和日丽,春天的太阳暖洋洋!

2010年3月14日 1 条评论

       今天还是像往常一样起了一个大早!洗洗头,回来实验室,空无一人!唉!这一届研一的都比我们去年还要懒啊!就因为是一个星期六都不来实验室了。面对着空空四壁,突然间心里有了一种失落感,非常强烈的失落感。那么好的天,总不能闷在实验室力吧?但是又不能跑出去,其实这几天一直都想着放松一下了,但是马上要开题了,准备资料,整理思路…要做的事情还有很多。着急着呢,昨天和徐总聊了一下,徐总和我大体上指导了下。还好的是有了一些思路。

       研一、以及研二上,一直忙着学习,做开发,一直没有认真的考虑过开题,论文方向的事情。一直拖啊,拖得。所以说:任务远虑必有近忧啊!呵呵!

      突然间就记起了研一的时候,一个比较牛的师兄给我讲的一句话:“不要睡懒觉,每天早点起床!这是你迈向成功的第一步!”当时我还有些不以为然,现在想想,确实是这样!以后坚持每天早上八点起!

分类: 生活 标签:

80的我们,转一张:80后一定要牢记的10个人生底线

2010年3月12日 1 条评论

1. 一定要相信30岁很快就会到来,无论你是在魔兽、cs还是蹦迪泡吧,就算装得再嫩,岁月总会在你的心里留下烙印,掩饰永远都不能改变事实,办法只有一个:提前做好准备,即使你现在只有18岁,脸皮还能掐出水来。30岁一过,一样是人老珠黄一根草而已,所以要是不能提前装填自己的心理内涵,等着人见人烦吧。

2. 勿以善小而不为,勿以恶小而为之。不管你对生活已经有了多深的认识,在许多方面最好听听父母的建议,甚至最好完全按照他们的吩咐去做,抛开老祖宗遗留下来的传统以外,他们毕竟比我们早活了几十年,对这个残酷社会的认识远远超过我们,哪怕大字 认不了几筐。30岁一过,你看任何事和他们当年看你是基本一致的,那时候肠子悔青都已经无济于事。

80后定要牢记10个人生底线

3. 一定要知道自己有几个朋友是能帮助自己的,有几个朋友只是混吃混喝的,还有几个朋友是可有可无的,还有几个朋友是要小心提防的,最好搞清楚他(她)们的家人是干吗的,因为不管是什么样的朋友,你总有用得着的一天。30岁以后你会发现,那些成功人士,身边都会有一个或者一批很大的关系网,而维系它们的几乎都是朋友。

4. 30岁以前的未婚男人可以多交几个女朋友,这样你可以学到许多东西。但是关系一定要保持稳定,同一个月的几个周末的晚上,在你身边的最好不要出现不同的女人,不要认为男人的名声就不重要,香蕉要是烂了,和苹果一个德行。等人尽皆知的时候,你会后悔生在这个城市或者国家(女人同上)。

5.初恋永远都是最好的。所以不管你的初恋有多么多么的不堪,不管对方有多么多么的青涩,哪怕是鼻涕已经过了黄河,记住一定不要伤害他(她),哪怕最后还是要分手,30岁以后他(她)将是你心中那条唯一清澈见底的溪流。而你的伤害往往会左右了一个人今后的交友取向。

6. 第一次亲密接触最好不要看得太重。这是很难做到但必须做到的,这并不是告诉你你可以乱来,原因可以参看第4条,说这句话主要是这个世界诱惑实在太多,而你又实在太年轻,很可能会在第二天醒来的时候发现身边躺着的不是最爱的人,这个醒来的时 间可能会延迟很久,假如你不懂得及时看清现实,非要计较自己的第一次给了谁,当第二次来的时候,等待你的将是更大的伤害。这一条你可以理解为把第一次留给最爱你的人(请注意:不是你最爱的人)。

7. 30岁以前一定要在家庭和自己条件允许并且有节制的情况下,尽可能地多花点钱,尽可能地多了解点这世上的新鲜事,尽可能地多买点书,尽可能地多吃点各式各样的食物,尽可能地多为自己添置点衣服,说这一点不是告诉你可以穷奢极欲,30岁以后你会发现钱多少都不够,会发现这世界你不懂的东西实在太多太多,你会后悔书读得太少,你会发现对许多食物已经没有胃口,你会发现你已经穿不上很多看上去非常好看的衣服。

8. 30岁以前这个世上最可能不会背叛你的就是你自己的身体,而30岁以后最可能 会背叛你的也是你自己的身体。30岁以前你可以胡吃海喝,可以灯红酒绿,可以坐在电脑前cs一宿不睡把眼珠子熬得通红。30岁以后,你的身体就会用各种疾病告诉你,当年一定是脑子被驴踢了,才会那么折腾自己。

9. 一定要学会做饭,一定要学会洗衣服,一定要学会自己照顾自己,一定要学会最起码的生存之道, 在这方面父母是最好的老师,他们也会非常乐意地教导你这些,最好清楚男人和女人最基本的卫生和健康之道,最好知道几条生活中的小窍门,最好掌握一个或者几个拿手菜。谁都有独自面对生活的那一天。30岁以后,要是你连个袜子都不会洗,做的菜连猪都能咸死的话,除非比尔·盖茨是你干爹,否则你再有钱也一样会被人鄙视(总有一天)。

10.遇到自己爱的人一定要勇敢的去争取,假如他(她)真的值得你去争取,到手了不要把他(她) 揣兜里时间太长,经常拿出来在阳光底下晾一晾,此举不仅能昭告天下名花有主,更可以对你们的爱情进行一番考验,不要把爱情谈得太久,不要等对对方的身体熟悉到屁股上有几个痦子都清楚的地步,在没达到最热烈的时候该结婚就结婚,豆腐都是好豆腐,时间长了一样变质,王致和虽然味道不错,但毕竟不是人人都能接受的,什么单身主义,什么惧怕围城,30岁以后,你会发现哪怕是年少时那个留着清鼻涕蹲在你家楼后面痴痴等你一宿的傻东西向你求婚,你都愿意答应他,你会发现条件会越来越低,有时你的念头会让自己都看不起自己,有时你会痛哭这世界真变态,连个值得爱的人都找不到。酒是陈的香,可是相信我,你绝对成不了法国庄园里的波尔多。

人生如一盘棋,执黑执白都无所谓,能一举成名的是极个别的少数,许多人都在半截 了了账,每一步都是选择,只不过有些无关痛痒,有些却马虎不得,一着失误,满盘皆输的人比比皆是,等某一天你对身边围着的人说:我这一盘棋终于下完了,而自我感觉没有什么遗憾的时候,那么恭喜你,你赢了。

30而立,对有些人来说,30岁以前向左,30岁以后向右。30而立,对有些人来说,30岁以前是因,30岁以后是果。

分类: 生活 标签:

转载:C语言字符串操作函数

2010年2月26日 没有评论

1. 写一个函数实现字符串反转

版本1 – while版

void strRev(char *s)
{
char temp, *end = s + strlen(s) – 1;
while( end > s)
    {
        temp = *s;
*s = *end;
*end = temp;
–end;
++s;
    }
}

版本2 – for版

void strRev(char *s)
{
char temp;
for(char *end = s + strlen(s) – 1; end > s ; –end, ++s)
    {
        temp = *s;
*s = *end;
*end = temp;
    }
}

版本3 – 不使用第三方变量

void strRev(char *s)
{
for(char *end = s + strlen(s) – 1; end > s ; –end, ++s)
    {
*s ^= *end;
*end ^= *s;
*s ^= *end;
    }
}

版本4 – 重构版本3

void strRev(char *s)
{
for(char *end = s + strlen(s) – 1; end > s ; –end, ++s)
    {
*s ^= *end ^= *s ^= *end;
    }
}

版本5 – 重构版本4

void strRev(char *s)
{
for(char *end = s + strlen(s) – 1; end > s ; *s++ ^= *end ^= *s ^= *end–);
}

版本6 – 递归版

void strRev(const char *s)
{
if(s[0] == ‘\0′)
return;
else
        strRev(&s[1]);
    printf("%c",s[0]);
}

2. 实现库函数strcpy的功能

strcpy函数位于头文件<string.h>中

版本1

strcpy(char * dest, const char * src)
{
char *p=dest;
while(*dest++ = *src++)
        ;
    dest=p;
}

版本2

char * __cdecl strcpy(char * dst, const char * src)
{
char *p = dst;
while( *p ++ = *src ++ )
        ;
return dst;
}

版本3

strcpy(char * dest, const char * src)
{
int i=0;
for(; *(src+i)!=’\0′; i++)
*(dest+i) = *(src+i);
*(dest+i) = ‘\0′;
}

3. 实现库函数atoi的功能

atoi函数位于头文件<stdlib.h>中

版本1 – 附说明

int power(int base, int exp)
{
if( 0 == exp )
return 1;
return base*power(base, exp-1);
}
int __cdecl atoi(const char *s)
{
int exp=0, n=0;
const char *t = NULL;
for(; *s == ‘ ‘ || *s == ‘\t’ || *s == ‘\n’; s++) //找到第一个非空字符
        ;
if( *s >’9′ || *s <’0′ ) //如果第一个非空字符不是数字字符,返回0
return 0;
for(t=s; *t >=’0′ && *t <=’9′; ++t) //找到第一个非数字字符位置 – 方法1
        ;
    t–;
/* 找到第一个非数字字符位置 – 方法2
    t=s;
    while(*t++ >=’0′ && *t++ <=’9′)
        ;
    t -= 2;
*/
while(t>=s)
    {
        n+=(*t – 48)*power(10, exp); //数字字符转化为整数
        t–;
        exp++;
    }
return n;
}

版本2

int __cdecl atoi(const char *s)
{
int exp=0, n=0;
const char *t = NULL;
for(; *s == ‘ ‘ || *s == ‘\t’ || *s == ‘\n’; s++) //略过非空字符
        ;
if( *s >’9′ || *s <’0′ )
return 0;
for(t=s; *t >=’0′ && *t <=’9′; ++t)
        ;
    t–;
while(t>=s)
    {
        n+=(*t – 48)*pow(10, exp);
        t–;
        exp++;
    }
return n;
}

4. 实现库函数strlen的功能

strlen函数位于头文件<string.h>中

版本1 – while版

size_t  __cdecl strlen(const char * s)
{
int i = 0;
while( *s )
    {
        i++;
        s++;
    }
return i;
}

版本2 – for版

size_t  __cdecl strlen(const char * s)
{
for(int i = 0; *s; i++, s++)
        ;
return i;
}

版本3 – 无变量版

size_t  __cdecl strlen(const char * s)
{
if(*s == ‘\0′)
return 0;
else
return (strlen(++s) + 1);
}

版本4 – 重构版本3

size_t  __cdecl strlen(const char * s)
{
return *s ? (strlen(++s) + 1) : 0;
}

5. 实现库函数strcat的功能

strcat函数位于头文件<string.h>中

版本1 – while版

char * __cdecl strcat(char * dst, const char * src)
{
char *p = dst;
while( *p )
        p++;
while( *p ++ = *src ++ )
        ;
return dst;
}

6. 实现库函数strcmp的功能

strcmp函数位于头文件<string.h>中

版本1 – 错误的strcmp

int strcmp(const char * a, const char * b)
{
for(; *a !=’\0′ && *b !=’\0′; a++, b++)
if( *a > *b)
return 1;
else if ( *a==*b)
return 0;
else
return -1;
}

版本2

int __cdecl strcmp (const char * src, const char * dst)
{
int ret = 0 ;
while( ! (ret = *(unsigned char *)src – *(unsigned char *)dst) && *src)
++src, ++dst;
if ( ret < 0 )
                ret = -1 ;
else if ( ret > 0 )
                ret = 1 ;
return( ret );
}

7. 计算字符串中元音字符的个数

#include <stdio.h>
int is_vowel(char a)
{
switch(a)
    {
case ‘a’: case ‘A’:
case ‘e’: case ‘E’:
case ‘i’: case ‘I’:
case ‘o’: case ‘O’:
case ‘u’: case ‘U’:
return 1; break;
default: 
return 0; break;
    }
}
int count_vowel(const char *s)
{
int num;
if(s[0] == ‘\0′)
        num = 0;
else
    {
if(is_vowel(s[0]))
            num = 1 + count_vowel(&s[1]);
else
            num = count_vowel(&s[1]);
    }
return num;
}
int main()
{
char *s=" AobCd ddudIe";
    printf("%d \n", count_vowel(s));
return 0;
}

8. 判断一个字符串是否回文:包含一个单词,或不含空格、标点的短语。如:Madam I’m Adam是回文
版本1

/*
* 程序功能:判断一个单词,或不含空格、标点符号的短语是否为回文(palindrome)
*/
#include <stdio.h>
#include <ctype.h>
int is_palindrome(const char *s)
{
bool is_palindrome=0;
const char *end=s;
if(*end == ‘\0′) /* 如果s为空串,则是回文 */
        is_palindrome=1;
while(*end) ++end; /* end指向串s最后一个字符位置 */
–end;
while(s<=end)
{
        while(*s==’ ‘ || !isalpha(*s)) /* 略去串s中的非字母字符 */
            ++s;
while(*end==’ ‘ || !isalpha(*end))
            –end;
if(toupper(*s) == toupper(*end)) /* 将s中的字母字符转换为大字进行判断 */
        {
            ++s;
            –end;
        } 
        else 
        {
            is_palindrome=0; break;
        } /* 在s<=end的条件下,只要出现不相等就判断s不是回文 */
    }
    if(s>end)
        is_palindrome=1;
    else
        is_palindrome=0;
    return (is_palindrome);
}
int main()
{
const char *s ="Madam  I’ m   Adam";
    printf("%s %s \n", s, is_palindrome(s) ? "is a palindrome!": "is not a palindrome!");
return 0;
}

说明:__cdecl,__stdcall是声明的函数调用协议.主要是传参和弹栈方面的不同.一般c++用的是__cdecl,windows里大都用的是__stdcall(API)

分类: 生活 标签: ,

编程学习:由”strcpy”函数看到需要注意的问题(实现strcpy函数)

2010年2月26日 没有评论

每天一个知识点,进步的脚印…

 

   我们先来看一个题目:

已知strcpy函数的原型是:

        char * strcpy(char * strDest,const char * strSrc);

    1.不调用库函数,实现strcpy函数。
    2.解释为什么要返回char *。

    解答:
    1.strcpy的实现代码

        char * strcpy(char * strDest,const char * strSrc)
        {
                if ((strDest==NULL)||(strSrc==NULL)) //[1]
                        throw "Invalid argument(s)"; //[2]
                char * strDestCopy=strDest;  //[3]
                while ((*strDest++=*strSrc++)!=’\0′); //[4]
                return strDestCopy;
        }

 

答案分析:(错误的做法)
    [1]
    (A)不检查指针的有效性,说明答题者不注重代码的健壮性。
    (B)检查指针的有效性时使用((!strDest)||(!strSrc))或(!(strDest&&strSrc)),说明答题者对C语言中类型的隐式转换没有深刻认识。在本例中char *转换为bool即是类型隐式转换,这种功能虽然灵活,但更多的是导致出错概率增大和维护成本升高。所以C++专门增加了bool、true、false三个关键字以提供更安全的条件表达式。
    (C)检查指针的有效性时使用((strDest==0)||(strSrc==0)),说明答题者不知道使用常量的好处。直接使用字面常量(如本例中的0)会减少程序的可维护性。0虽然简单,但程序中可能出现很多处对指针的检查,万一出现笔误,编译器不能发现,生成的程序内含逻辑错误,很难排除。而使用NULL代替0,如果出现拼写错误,编译器就会检查出来。
    [2]
    (A)return new string("Invalid argument(s)";,说明答题者根本不知道返回值的用途,并且他对内存泄漏也没有警惕心。从函数中返回函数体内分配的内存是十分危险的做法,他把释放内存的义务抛给不知情的调用者,绝大多数情况下,调用者不会释放内存,这导致内存泄漏。
    (B)return 0;,说明答题者没有掌握异常机制。调用者有可能忘记检查返回值,调用者还可能无法检查返回值(见后面的链式表达式)。妄想让返回值肩负返回正确值和异常值的双重功能,其结果往往是两种功能都失效。应该以抛出异常来代替返回值,这样可以减轻调用者的负担、使错误不会被忽略、增强程序的可维护性。
    [3]
    (A)忘记保存原始的strDest值,说明答题者逻辑思维不严密。
    [4]
    (A)循环写成while (*strDest++=*strSrc++);,同[1](B)。
    (B)循环写成while (*strSrc!=’\0′) *strDest++=*strSrc++;,说明答题者对边界条件的检查不力。循环体结束后,strDest字符串的末尾没有正确地加上’\0′。

    2.返回strDest的原始值使函数能够支持链式表达式,增加了函数的“附加值”。同样功能的函数,如果能合理地提高的可用性,自然就更加理想。
    链式表达式的形式如:
        int iLength=strlen(strcpy(strA,strB));
    又如:
        char * strA=strcpy(new char[10],strB);
    返回strSrc的原始值是错误的。其一,源字符串肯定是已知的,返回它没有意义。其二,不能支持形如第二例的表达式。其三,为了保护源字符串,形参用const限定strSrc所指的内容,把const char *作为char *返回,类型不符,编译报错。

分类: 生活 标签: , , ,

sizeof和strlen的比对理解

2010年2月25日 没有评论

一、好首先看看sizeof和strlen在MSDN上的定义:
首先看一MSDN上如何对sizeof进行定义的:

sizeof Operator

sizeof expression

The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type
(including aggregate types). This keyword returns a value of type size_t.

The expression is either an identifier or a type-cast expression (a type specifier enclosed in
parentheses).

When applied to a structure type or variable, sizeof returns the actual size, which may include
padding bytes inserted for alignment. When applied to a statically dimensioned array, sizeof
returns the size of the entire array. The sizeof operator cannot return the size of dynamically
allocated arrays or external arrays.

然后再看一下对strlen是如何定义的:

strlen

Get the length of a string.

Routine Required Header:
strlen <string.h>

size_t strlen( const char *string );
Parameter
string:Null-terminated string
Libraries
All versions of the C run-time libraries.

Return Value
Each of these functions returns the number of characters in string, excluding the terminal
NULL. No return value is reserved to indicate an error.

Remarks
Each of these functions returns the number of characters in string, not including the
terminating null character. wcslen is a wide-character version of strlen; the argument of
wcslen is a wide-character string. wcslen and strlen behave identically otherwise.

二、由几个例子说开去。

第一个例子:

char* ss = "0123456789";
sizeof(ss) 结果 4 ===》ss是指向字符串常量的字符指针
sizeof(*ss) 结果 1 ===》*ss是第一个字符

char ss[] = "0123456789";
sizeof(ss) 结果 11 ===》ss是数组,计算到\0位置,因此是10+1
sizeof(*ss) 结果 1 ===》*ss是第一个字符

char ss[100] = "0123456789";
sizeof(ss) 结果是100 ===》ss表示在内存中的大小 100×1
strlen(ss) 结果是10 ===》strlen是个函数内部实现是用一个循环计算到\0为止之前

int ss[100] = "0123456789";
sizeof(ss) 结果 400 ===》ss表示再内存中的大小 100×4
strlen(ss) 错误 ===》strlen的参数只能是char* 且必须是以''\0''结尾的

char q[]="abc";
char p[]="a\n";
sizeof(q),sizeof(p),strlen(q),strlen(p);
结果是 4 3 3 2      

第二个例子:

class X
{
int i;
int j;
char k;
};
X x;
cout<<sizeof(X)<<endl; 结果 12 ===》内存补齐
cout<<sizeof(x)<<endl; 结果 12 同上

第三个例子:

char szPath[MAX_PATH]

如果在函数内这样定义,那么sizeof(szPath)将会是MAX_PATH,但是将szPath作为虚参声明时(void fun(char szPath[MAX_PATH])),sizeof(szPath)却会是4(指针大小)

三、sizeof深入理解。

  • 1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。
  • 2.sizeof是算符,strlen是函数。
  • 3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以”\0”结尾的。sizeof还可以用函数做参数,比如:
    short f();
    printf("%d\n", sizeof(f()));

    输出的结果是sizeof(short),即2。

  • 4.数组做sizeof的参数不退化,传递给strlen就退化为指针了。
  • 5.大部分编译程序 在编译的时候就把sizeof计算过了 是类型或是变量的长度这就是sizeof(x)可以用来定义数组维数的原因
    char str[20]="0123456789";
    int a=strlen(str); //a=10;
    int b=sizeof(str); //而b=20;
  • 6.strlen的结果要在运行的时候才能计算出来,时用来计算字符串的长度,不是类型占内存的大小。
  • 7.sizeof后如果是类型必须加括弧,如果是变量名可以不加括弧。这是因为sizeof是个操作符不是个函数。
  • 8.当适用了于一个结构类型时或变量, sizeof 返回实际的大小, 当适用一静态地空间数组, sizeof 归还全部数组的尺 寸。 sizeof 操作符不能返回动态地被分派了的数组或外部的数组的尺寸
  • 9.数组作为参数传给函数时传的是指针而不是数组,传递的是数组的首地址,如:
    fun(char [8])
    fun(char [])

    都等价于 fun(char *) 在C++里传递数组永远都是传递指向数组首元素的指针,编译器不知道数组的大小如果想在函数内知道数组的大小, 需要这样做:进入函数后用memcpy拷贝出来,长度由另一个形参传进去

    fun(unsiged char *p1, int len)
    {
      unsigned char* buf = new unsigned char[len+1]
      memcpy(buf, p1, len);
    }

    有关内容见: C++ PRIMER?

  • 10.计算结构变量的大小就必须讨论数据对齐问题。为了CPU存取的速度最快(这同CPU取数操作有关,详细的介绍可以参考一些计算机原理方面的书),C++在处理数据时经常把结构变量中的成员的大小按照4或8的倍数计算,这就叫数据对齐(data alignment)。这样做可能会浪费一些内存,但理论上速度快了。当然这样的设置会在读写一些别的应用程序生成的数据文件或交换数据时带来不便。MS VC++中的对齐设定,有时候sizeof得到的与实际不等。一般在VC++中加上#pragma pack(n)的设定即可.或者如果要按字节存储,而不进行数据对齐,可以在Options对话框中修改Advanced compiler页中的Data alignment为按字节对齐。
  • 11.sizeof操作符不能用于函数类型,不完全类型或位字段。不完全类型指具有未知存储大小的数据类型,如未知存储大小的数组类型、未知内容的结构或联合类型、void类型等。如sizeof(max)若此时变量max定义为int max(),sizeof(char_v) 若此时char_v定义为char char_v [MAX]且MAX未知,sizeof(void)都不是正确形式

四、结束语

sizeof使用场合。

  • 1.sizeof操作符的一个主要用途是与存储分配和I/O系统那样的例程进行通信。例如:
      void *malloc(size_t size), 
      size_t fread(void * ptr,size_t size,size_t nmemb,FILE * stream)。
  • 2.用它可以看看一类型的对象在内存中所占的单元字节。
    void * memset(void * s,int c,sizeof(s))
  • 3.在动态分配一对象时,可以让系统知道要分配多少内存。
  • 4.便于一些类型的扩充,在windows中就有很多结构内型就有一个专用的字段是用来放该类型的字节大小。
  • 5.由于操作数的字节数在实现时可能出现变化,建议在涉及到操作数字节大小时用sizeof来代替常量计算。
  • 6.如果操作数是函数中的数组形参或函数类型的形参,sizeof给出其指针的大小。
分类: 生活 标签: ,

面试时最难的25个问题

2010年1月26日 没有评论

1.介绍你自己

这个问题通常是一个面试的开始的第一个问题,要额外的小心不要滔滔不绝。尽可能的让你的回答在一分钟,最多2分钟的时间内结束。你的回答应该包含以下4个主题:早期生活,教育背景,工作背景以及最近的工作经验。要着重强调最后的那个主题。要牢记这个问题通常是一个热身的问题,不要把你的最重要的观点浪费在这个问题上。

2.你对我们公司有什么样的了解

你必须能够谈论关于这个公司的产品,服务,收入,业界声望,形象,目标,存在的问题,管理风格,职工,历史和企业文化等问题。但是不要表现出你对这个公司的一切都了如指掌。让你的回答能够体现出你对该公司做了一些研究,但是不要让面试官被你打败(overwhelm),并表现出你希望能够了解关于公司更多的情况。 你可以用这样的态度来开始回答问题:“在我的寻找工作的过程中,我调查研究了很多公司,出于如下的理由,贵公司是我感兴趣的公司之一:”。 用一个积极的态度来回答这个问题,不要这样说:“每个人都告诉我这个公司处于困境中,有各种样的麻烦,这就是我来这儿的原因”,即是那的确是你在这儿的理由。

3.为什么你希望来我们公司工作?

最糟糕的答案就是“因为我喜欢人”。要是你喜欢的是动物,那你去哪工作呢?在这个问题的回答上,并且贯穿整个面试的过程中,一个优秀的答案总是来自于你所作的调查研究,这样的话你可以从公司的需要那个方面来回答。你可能说你的研究表明这个公司所做的工作正是你说希望参与的,并且他们做这个工作的方式极大的吸引了你。例如,如果这个公司由于强大的管理而著称,纳闷你的答案可以提到这个事实,并表示你希望成为这个小组的一员。如果这个公司着重强调研发,那么就强调你希望创造你的事物,而你知道这个公司非常鼓励这样的行为。如果这个公司强调经济控制,你的答案就应该包含对数字的热爱。 如果你觉得你必须捏造一个答案,例如如果这个公司强调研发,但是你觉得你必须提到这一点而实际上你对这根本不感兴趣,那么你可能根本不应该参加这个面试,因为你可能根本不会考虑在这个公司工作。 你的之前的准备必须包括对这个公司做详尽的了解,来避免到一个你无法发挥才干或者根本不想去的公司面试。大多数人都不擅长说谎,所以在面试中欺瞒面试官是一件很困难的事情。即使你成功的做到了这一点,你所获得的也只是一个你不想参加的工作

4.你可以为我们完成哪些其他人做不到的事情?

这个问题上,你有权利或者是义务来自吹自擂。谈论一些你完成工作的记录,提到你简历中的独特之处,或者列出你职业生涯中的成就。告诉别人,你的技能和兴趣在获取这些结果的过程中发挥了很大的作用,并使得你很有价值。提到你能够合理的安排工作优先顺序,找出问题,并利用你的经验和精力来解决问题。

5.你觉得这个职位最吸引你的地方是什么?

最不吸引你的地方又是什么? 列出3到4个这个工作吸引人的方面,然后提出一个简单的不重要的不吸引人的问题。

6.为什么我们应该雇佣你?

参见问题4, 考虑你的能力,你的工作经历和你的干劲。

7.你希望在工作中能够获得什么?

让你的答案来源与这个公式提供的机会。谈论你希望能够大展身手并获取认可的要求。让你的答案基于工作机会而不是个人的要求

8.谈论一下你对你应聘的这个职位的定义

你的答案应该简短并且是基于工作要求的。考虑这个工作的责任和义务。在你回答问题之前确定你真正的了解这个职位所涉及的方方面面。如果你不确定,就去问面试官,他可能会帮你回答这个问题。

9.你需要多久能够对公司做出显著的贡献?

答案要实际一点。可以这样回答,尽管你希望从第一天开始就能够满足公司紧迫的要求,并开始发挥作用,但是你可能需要6个月到1年的时间来足够了解这个公司及其需要来做出很大的贡献。

10.你会在公司工作多久?

可以这样回答,你对在这个公司的职业生涯很感兴趣,可是也得承认你必须能够不断感觉到有挑战才能够继续在任何公司呆着。可以考虑这样的语句“只要我们双方都感觉有收获”。

11.你的简历显示你的能力超出了这个工作的要求,你是如何认为的?

强调你对在这个公司开始一个长期的合作的兴趣,你可以说你认为如果你在这个职位上表现的很好,公司还会为你提供新的机会。也要提到一个好公司需要好的职员。有检验的职员总会有很好的奖励;既然你是如此的很是这个职位,雇主将会很快从他的投资中获得回报。一个发展中的,充满活力的工资永远不会嫌天才多的。

12.你的管理方式是什么样的?

你必须对这个公司的风格有足够的了解,这样才能让你的管理风格对其进行补充。可能的风格包括:基于任务的(我喜爱问题-研究那些是错误的,选择一个解决方案并完成),基于结构的(我做出的任何一个管理的决定是基于它是如何影响问题的底线的),或者是家长式作风的(我致力与管理好我的每一个下属,并给他们指引正确的方向)。 民主参与式的风格是目前比较流行的一种:一个开放的管理方式,通过激励手下并根据所负责的事情分派任务来完成每一件事情。 当你考虑这个问题的时候,要思考你的风格是否会让你在这个公司里高兴并有效率的工作。

13.你是一个合格的经理吗?

你可以举一些例子吗?你是否觉得你有顶级管理人员的潜力? 保证你的答案是基于成果和任务的。通过你职业生涯中的一些例子来加固你的论点。强调你的经验和精力

14.当你招聘人手的时候你需要什么类型的?

考虑一些技能方面的问题。主动性,以及能够舒服和有效的与其他人一起工作的适应性。提到你希望雇佣一些看起来能够在公司中获得提升的人。

15.你是否曾经不得不解雇一些员工?

是什么理由?你是如何解决这个情况的? 要承认这个情况不是容易解决的,但是你还是很好的解决了,不管是从公司角度还是从个人角度。让他们知道,和其他人一样,你不喜欢这种让人不乐意的工作,但是你可以有效的富有人情味的解决问题,尤其是在要解雇某个人的时候。

16.你认为作为一个经理或者高级行政人员最困难的事情是什么?

要提到指定计划,指定和成本控制。最困难的任务是要去激发并管理雇员来完成一些计划中的事情,并且按时的在预算范围内完成任务。

17.在我们这个行业中你觉得什么是最重要的趋势?

一样要准备两到三个趋势来阐明你对所在行业的是多么的了解。你可以需要考虑技术上的挑战或者机会,金融环境甚至管理的需求作为你所应该考虑收集的关于你的行业说面对的状况。

18.你为什么离开你现在的工作(上一个工作)?

在不伤害你自己的情况下要简明扼要并诚实的回答这个问题。回溯到你寻找工作的计划阶段,那时你正在把这个话题当作你的工作经历。如果你是在一次公司裁员中被裁掉的,直接说出来好了;否则的话,要指明这次离职是你自己的决定,你自己行动的结构,不要特到任何关于性格冲突等。

19.你觉得放弃原来所有的福利待遇等来寻找一个新的工作是什么感觉?

要提到你很自然的担心这一点,但是并不很恐慌。你愿意为寻找到合适的工作而冒一点风险。不要说,你对安全感比成功的完成工作更感兴趣。

20.在你上一份工作中,你最喜欢那个方面的特点?

最不喜欢哪个? 要小心而计息的回答这个问题。要多说你喜欢的特性,而少说你不喜欢的。不要引用个人的问题。如果你使得你的上一份工作听起来很糟糕,面试官会疑问你为什么还能在上一份职位上一直待到现在。

21.你如何看待你的老板?

要尽可能积极的回答这个问题。你潜在的未来的老板很希望能够了解你未来在相似的场合会如何谈论他。

22.你在现在的年龄中为什么不能赚到更多?

要告诉他这是你寻找新的工作的理由之一,不要处于守势。

23.你希望这个职位的薪水是多少?

讨论薪水是一个很微妙的问题。我们建议你在条件允许的情况下尽可能的拖延用一个精确的数据来回答这个问题。你可以说,“我知道这个工作的薪水的大概范围是¥—到¥—。这个对于我来说是合适的价位。”你也可以用一个问题来回答这个问题: “你可能在这个问题上可以帮助我。你能否告诉我在公司中对相似职位的工作的大概薪水是多少?”。 如果你是在一个最初的面试中遇到这个问题,你可以说你觉得你需要更多的了解这个职位的职能才能够对这个问题有个有意思的回答。在这个问题上通过询问面试官或者人事高级主管或者自己去寻找结果,你可以尝试去获得这份工作是由有一个工资等级。如果有,并且你能够接受,那么直接回答你满意这个薪水范围好了。 如果面试官继续纠缠这个问题的话,你可以说“我现在的薪水是¥–。和其他人一样,我希望能够提升这个数字,但是我主要的兴趣还是在工作本身。”要记住,获取一个新的工作这件事本身不会使得你能够赚到更多的钱。 如果一个猎头公司也参与了此事的话,你的联系人可能可以帮助你解决这个薪水的问题。他甚至可以帮你介入此事。例如,如果他告诉你这个职位的待遇,然后你告诉他你现在已经赚那么多的,并且希望待遇能够适当的提升,他可能会去雇主那然后提议给你增加10%的待遇。 如果没有获得关于这个职位的合适的信息,而面试官还继续这个话题的话,你可以用一个具体的数字来回答这个问题。你不能给别人留下待遇完全没有影响你将会接受任何待遇的印象。如果你年薪8W的话,你不可能没有变现出放弃自己的时候,说3.5W一年也是可以接受的。(如果你是在做工作的一个彻底的变化的话,这种情况可能也是有道理,可以理解的)。 不要很快就把你自己卖掉:),但是要继续的强调这个工作本身才是你最看重的东西。面试官可能会去判断你希望从这个工作的待遇是多少哦。不要给面试官留下金钱对你来说是唯一重要的事情的感觉。把薪水的问题和工作本身挂钩。 但是无论合适可能的话,在你到面试过程的最后一个阶段之前,少谈论薪水的问题。到那个阶段的时候,你就应该知道,这个公司对你有很大的兴趣,这个时候在谈论薪水待遇的话就会有很大的余地了。

24.你长期的目标是什么?

回到你寻找工作的计划阶段。不要这样回答“我希望能够得到你广告中的工作”。把你的目标与你面试的公司关系起来,“在你们这样一个公司,我希望能够…” 25.你目前位置在工作中是多么的成功? 你要回答,总的来说你对你目前为止的职业生涯是很高兴很满意的。列举一些生活中普通的琐事,你觉得你完成的很好,没有怨言。 要想别人展现一个积极和自信的面貌,但是不要夸大其词。例如这样的回答“所有的事情都特别的好!我不能想象一个更好的事情了!我非常的开心。”,会使得面试官觉得你是不是在愚弄他或者你自己。最具有说服力的答案通常都是相当自信的。

分类: 生活 标签: , ,

感情之-伤感篇

2010年1月18日 8 条评论

   说到感情,可能每个人都会有伤感的一面,昨天送走了小徐,总感觉有些不对,一个人从你的生命中突然出现,然后一段时间以后,又默然消失,也许这一辈子也在没有机会再见面了…这种感觉突然让我想起了大四的那些日子,同学一个一个的离开学校回家,我在学校等通知书,回去比较晚…每送走一个哥们都有一种失落的感觉,感叹是时间过的真快啊!

   几天又去看了一次《阿凡达》,上次看过以后,一些镜头在脑海里翻腾,一直都还想再看一遍。前天徐总说要请我们去看《阿凡达》,大家欣然同意,我也跟着去了,上次只顾看情节了,没有仔细的欣赏3D的效果,今天再看,再次感叹导演的高明,很多细节真的是让人禁不住竖起大拇指…

   不过我们回来的时候一直在讨论一个问题:就是他的化身和自己的“连接”,是怎么实现的,难道化身上装着无线信号收发器,然后连接器上也有无限信号收发器,就算这样也不能传那么远啊?呵呵,这只是我们讨论的一个问题,呵呵。有可能是他们那个星球的人沟通都有特殊方式呢,呵呵

分类: 生活 标签:

来自天籁的声音:给实验室研究生的十点建议

2010年1月14日 3 条评论

赵老师的劝告:

1. 我看你们有些浮躁,内心里不想踏实地做事情,想走所谓的捷径。

2. 因为你们想轻松地达到一个目标,以为只要想一想,或者看一看就能实现了。你最欠缺的是做事的方式,也就是你还没有理解什么是研究。不管以后做什么,工作中会碰到各种问题,那么你需要掌握研究和解决问题的套路,客观地分析问题,逻辑严密地一步步推进,每一步都需要有根据。要理性思考!

3. 你们以为工作中有很多轰轰烈烈的事情,那是完全错误的。每个人的工作都是看起来特别简单、琐碎的,因此工作不久就会陷入无趣、心烦之中,如何让自己沉静下来,内心足够的平和,这是一个人一生中最重要的品质。人和人之间的差别,最后也就体现在这一点上。而给你们做的事情,实际上很大程度就是锻炼和磨练这个理性、平和、扎扎实实做事的品质。

4. 只有真正地克服自己内心的噪音,从头至尾,老老实实地把一件看起来无趣的事情做好,每个环节都让自己满意,那种经历过后的成长和领悟最是珍贵。你们学生的通病就是:心里不扎实,好空想,在空想之中浪费光阴。其实本质就是不想辛苦,只想轻松地摘果实。等你们毕业的时候,就知道后悔了。每一年毕业的学生都有很多人后悔,但是已经不能从头再来了。

5. 做个老实人吧,别空想自己有多么的聪明。以为自己可以明白社会,以为自己掌握的是真理,以为别人都是傻子,过不了多久回头看,傻的是自己。

6. 善于发现问题,这个只有在全心全意地投入之后,才会发现很多的问题。通过发现问题,然后想方法解决问题,才会更快地成长,因为这个是自我主动的成长。如果是认为别人要你做、逼你做,不会有什么大的进步。

7. 内省是成长的最好方式,也是唯一的有效方式。内心的成长才是真正的成长,知识技能是其次的。新知识和技能层出不穷,需要的话那些都可以学习,是否内心能够踏实地、全力地去做事情,是否能够主动地发现问题,解决问题,是否有理性严谨的思维方式,是否客观地了解自己的弱点,然后有意识地改进,这是不断进步并让自己越来越强大的必由之路。

8. 你要提高自己的认识,不要空谈和空想,当你们大多数人认为是对的,那么最终基本都是错的,这就是年轻的代价。所以老老实实地把自己的现在工作做扎实,并一步步按照规范和要求来做,培养自己良好的工作方式,这个才是目标。磨练自己很痛苦,但是要成长这是必需的。

9. 始终牢记:重要的不是所做事情本身,而是如何去做事情,在做的过程中磨练自己的心气,养成良好的工作习惯和规范,让自己成为一个能够发现并解决问题,一个真正的研究者。

10.去掉心头虚火,方能修成正果。

分类: 生活 标签: ,

观阿凡达归来

2010年1月12日 1 条评论

阿凡达

     几天前就听说阿凡达是一部不错的电影,他们看过回来描述说,虽然是实景拍摄立体镜头不多,但是看3D的阿凡达,确实

很有震撼…后来百度了下,看到导演是:詹姆斯·卡梅隆,一下我就震惊了!泰坦尼克号的导演,这次又有电影界的新

的“创始之举”?今天抽出时间去看了一下,确实不错,两个多小时下来,给人的除了震惊、赞叹,还有就是电影背后的

思考…

听毛毛说的3D的票很紧张,我们早早的赶来了,结果还是有些小遗憾,电影靠后面的座位已经售空,不过还好的是,我们

强到了第六排的座位,嘻嘻!看3D的阿凡达,感觉那个爽。一直都感觉那个屏幕上的事情就是发生在自己的眼前。记得里

面有个镜头,对面扔过来一个弹壳,我都情不自禁的身子一躲,嘻嘻。那感觉确实不错….

刚才还看了下《阿凡达》的票房,真的很高,吓人,呵呵。
昨天还看到说韩寒给《阿凡达》打了10分,却给《三枪拍案惊奇》1分,听来确实有些好笑,不过,看过才知道。真的是

不一样…

热烈庆祝博客搬家成功!

2010年1月11日 没有评论

前几天,突然想到要丰富一下自己在新浪的博客,结果登上去,感觉速度很慢,而且广告较多,比较郁闷,
突然间想到是不是可以自己也去买个域名、空间。做个博客?

首先选定空间商和域名商,百度,淘宝,最后找到了满意的,接着就是找满意的博客程序,看了很多,最后敲定WP。
通过在网上查资料,看内容,通过博客大巴把以前的博客内容搬到了Wordpress上来,其中有一些文章时间变了,不多内容还是没有丢,然后优化了一下自己的主题…
有了自己的博客,心里感觉美滋滋的,不错!
嘿嘿…

分类: 生活 标签: , ,