zoukankan      html  css  js  c++  java
  • 生活在真空中的程序员

    生活在真空中的程序员

     

    六年编程经验,月薪8K高不高?不高。六年编程经验,程序都写不好,更别提设计能力,该不该?不该。今天帮同事面试了一个六年工作经验的软件工程师,说实话,在这段时间我的面试过的几十个人中,他的水平还算中等,没有必要数落他。但把能力和经验、期望待遇相比,还有点意思。

     

    因为是帮别人面试,事先没有准备,太概看了一下试题:对C语言的基本知识点倒也明白,不过编程能力似乎稀松平常,连几个像二分查找这样简单的算法都没写出来。

     

    我一边看简历,一边问问题:

     

    简历内容:黑体

    我:正常

    他:斜体

    画外音:(括号内容)

     

    l         熟悉VCMFC

     

    1.         你对熟悉COM吗?

    熟悉,就是用DLL嘛。

     

    2.         (是不是误解了我的意思) 我是说COM,微软件的组件对象模型。你能描述一下如何调用一个COM组件中的函数吗?

    很简单,用LoadLibrary加载,再取得它的函数指针。

     

    3.         (我怀疑他是否真的懂COM) 你知道IDispatch这个接口吗?它有什么用处?

    好像是双接口吧。不知道有什么用。

     

    4.         对不起,你能讲一下COMDLL的区别吗?

    COMDLL的区别有吗?我一直认为是COM就是DLLDLL就是COM

     

    5.         肯定有区别,否则没有必要提两个概念了。

    不骗你,我真的写过ATL程序。

     

    (他的脸有些红了。有人说脸红是一种美德。知耻而后勇,孺子可教也。)

     

    6.         你对MFC熟悉吗?

    当然了,用了这么多年了。

     

    7.         你对DOC/VIEW模型是如何理解的?

    可以用多种形式表现同一种数据。

     

    8.         大多数应用程序都只需要一种形式去表现,为什么还是要采用DOC/VIEW模型呢?

    不知道。

     

    9.         一般提倡把用户界面和内部实现分离,你知道有几种方式可以把用户界面和内部实现分离吗?

    不知道。

     

    10.     (我见试题有道题目错了)SetWindowText这个函数你不知道吗?

    API谁记得。

     

    11.     你不觉得记住最常用的API,可以提高编程效率吗?

    可能吧,不过VC里有提示,你输入..Set,它会提示你。

     

    l         熟悉面向对象和UML

     

    1.         你对面向对象怎么理解,你觉得面向对象的特性中,哪一条最重要?没有标准答案,随便说吧。

    当然继承了,面向对象嘛。

     

    2.         多态不重要吗?

    也重要,同一个函数名,可以参数不同,使用起来很方便。(看来没有真正明白多态)

     

    3.         你能讲一下序列图吗?可以举个例子。

    他画了一个简图,两条竖线,还有两个水平箭头把它们连在一起。

     

    4.         竖线顶部是不是少了点什么?不是吗?

     

    5.         再想想,序列图的功能是什么?不是用来描述对象之间的交互的关系的吗?

    (似乎有些火了)理论有什么用?你们到底是招程序员还是招系统分析员啊!!

     

    6.         别着急,只是随便探讨一下。我们不招程序员也不招系统分析员,我们招软件工程师。即要懂编码也要懂设计。除了在大公司里,一个人只编码,一点设计也不懂,不太现实吧,是不是?

     

    (等他平静下来)

     

    l         熟悉HTTPFTP协议、熟悉TCP/IP

     

    1.         你知道HTTP协议对应的RFC编号吗?

    什么编号?

     

    2.         R.F.C,我写在了纸上。

    (看样了RFC对他来说是个陌生的概念)...不知道。

     

    3.         你能写一个简单的HTTP请求头出来了吗?

    GET … HTTP/1.1

    Host: …

    Accept: */*

    Cookie: …

     

    4.         GET方法类似的有好几个,除POST外,你知道其它的吗?

    就知道POST

     

    5.         你知道Cookie的格式吗?

    不知道,乱七八糟的。

     

    6.         你知道Host关键字用来做什么的吗?

    不知道。

     

    7.         你能画一下socket服务器端的流程吗?

    socket

    bind

    listen(…, 5)

    accept

     

    8.         你知道Listen的第二个参数的意义吗?

    同时处理客户端的数目。(看来他误解了这个参数)

     

    9.         你能说说服务器端处理并发的几种方式吗?

    好办,来一个请求就创建一种线程去处理。

     

    10.     你不怕拒绝服务(DOS)攻击吗?

     

    l         其它

     

    1.         你们平时加班多吗?

    不多

     

    2.         那业余时间一定挺多,一般会在业余时间看书吗?

    看,不过看得很杂。

     

    3.         没事儿,我也看得很杂。你能提几本你认为最经典的书吗。

    (思考状)《深入浅出MFC

     

    4.         是本好书。还有吗?

    C++编程思想》

     

    5.         是本好书。还有吗?

    (痛苦的思考状),不好意思,今天面试没有准备,实在想不起来了。(这也要准备?)

     

    6.         没事儿。你看过《C++编程思想》。我问你几个C++的问题吧。你能说说拷贝构造函数和赋值操作的差别吗?

    差别?

     

    7.         (没听得太懂,只好问其它的) new分配的指针,你可以判断指针是否为空吗?

    切,怎么可能为空。现在PC上的内存大的是。

     

    8.         能谈谈你对设计模式的理解吗?

    设计模式?是一本书吗?没听说过。(不会吧,又不是生活在真空里,至少听说过吧)

     

    9.         可以认为它是一本书吧。你常上网吗?(经常上网的人,想不知道设计模式这概念都难啊)

    当然经常上。

     

    10.     你期望什么样的待遇。

    我现在的月薪是8K。最好不要低于这个数。你们能给多少?

     

    11.     不好意思,我们给不了那么高。最多45K吧。(我强调最多两个字,即使3K我也不想要他,不过是给台阶他下)

    那算了,谢谢。

     

  • 相关阅读:
    基于WF4的新平台流程模式(3)并发
    基于Wxwinter.BPM 的MEF 接口开发业务流程
    基于WF4的新平台流程设计器功能更新说明
    基于WF4的新平台流程模式(8)表单路由
    Wxwinter.BPM类库更新
    WF4的新平台代码提供说明
    介绍一下我的职业
    NET 4.5 中状态机工作流
    Scorpion and the frog 蝎子和青蛙
    直观理解贝叶斯公式
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6167889.html
Copyright © 2011-2022 走看看