Soft_Job 板


LINE

虽然经历一波不景气的光景,不过公司软体业务也的确发生人力不足的现象, 需要补充新血以免日後软体问题导致出货延迟。敝公司软体部门乃是使用C / C++与MFC搭配开发Windows Application。功能大多围绕在公司出品的IC相关 应用上。 以上是前因,因为公司不大,基於老板先存活再谈永续经营理念...当然是要找 即战力罗。不过大家内心也有数,要找到100%相关工作经验的即战力机率是 微乎其微。心中把标准稍稍放低,只要懂C / C++,不用我来教变数宣告、指 标、函数宣告...等等就谢天谢地了。Windows Programming只要懂得Message Routing, Procress / Thread等一点点粗浅的观念即可。MFC当然是用过就可 以了。 基於以上原则,履历千挑万选,刚毕业的不能挑,公司小没完善的教育训练, 不应该叫人跳进来这个火坑误人子弟嘛^_^ 没写过C / C++的一堆MIS或ERP相关 经验的也不敢叫,虽然Java, C#和C++有九成像,但是我们用的MFC和J2EE还有 .Net也差异太大了,还是不敢叫。於是乎挑出了几个有在大厂(有上市上柜就算) 写过一些测试程式或产测程式,有两三年经验的人来面试看看。 面试不外乎先问问对方经历,写过哪些东西,用什麽工具、遭遇过的困难等等。 然後介绍一下自己公司的职位需要的技能和工作内容等等。到这里为止都还OK, 面试者都能洋洋洒洒的应对。然後就是在下最重视的重头戏了,专业评估。 Q: 下面这段程式有没有什麽问题? void fun(int* ptr) { ptr = new int[2]; } int main() { int *ptr = NULL; fun(ptr); ptr[1] = 1; ptr[2] = 2; printf("%d %d", ptr[1], ptr[2]); return 0; } 这个程式很短也没啥实际功能,我觉得不是很好的范例程式,不过面试时间不长, 要尽量了解一下对方的C语言底子,所以只好把一堆错误都塞进一个程式里。 不过重点是,这程式可是编译得过呢~(因为有人回答他语法错误) 我期待中的粗浅的Programmer起码会看出「有使用new配置记忆体,却没delete释放」 「C语言是zero base阵列宣告大小为2的不能索引到[2]」,我想有点程度的应该还能回答 C语言都是传值呼叫,所以配置好的指标空间无法回传。 我还想看得出错误的人还可以讨论怎麽修改会比较好... 以上预想的剧本都没出现过,回答有: A1:这程式会编译不过吧,那是指标不能用ptr[1]。 A2:这程式没有错。 A3:......(沉默无言) 我真的不相信这一题这麽难,所以我引导一下。 提示:你觉得new之後要做什麽? A1:没用过new。 A2:不知道。 A3:new是什麽指令? 我晕,好吧他们可能是没写过C++,所以我换一个问法。 Q:你有用过malloc和free吗? A1:没有。 A2:......(无言) A3:不熟 好吧,或许你们都用C++ Builder或.Net,有好用的data structure class可以用, 所以我改问... Q:当有不定资料长度的资料要储存时,你会使用什麽方法。 A:不定长度? Q 补充道:就是一开始不知道需要多大空间,要动态配置的啊。 A:不是写程式时就知道大小了吗? Q又补充道:很多状况要等执行时期,资料读入或使用者输入後才知道会有几笔资料啊。 这些是编译时期不会知道的啊。 A:不会啊,都可以知道啊。 同上题,另一位回答道。 A:方法? Q补充道:对,就是你会用哪一种资料结构或者是哪些现成的Class? A:用阵列啊。 Q可是阵列不能动态大小耶。 A:是喔?......(沉默) Q:你都宣告一个很大的阵列来存放吗? A:这也是个方法啦......(已经恍神中) 面试到此已经快要升天了,针对一位强调自己会C++和物件导向的人再问道。 Q:Class宣告中,你是如何决定成员的存取等级? A:存取等级? Q:就是 public, protected和private那三个啊,你宣告的变数或函式要放在哪一段里面? A:喔,那个喔。那些比较理论的东西,我比较没在注意(心虚中) Q:小姐,这些不是理论,这是物件导向最基本的精神-封装。 A:喔~那个喔,我都是改人家程式的,都是放在public。 Q:所以你都不知道为甚麽要放在public吗? A:恩......(无言) 另一位面试者,强调用MFC写过Windows Application,所以问道。 Q:你知道Windows Message的架构吗? A:不知道(这个倒爽快) Q:你知道Procress和Thread的差异吗? A:...(沉默是金) Q:在Windows里面,不同Procress间要如何沟通?(我承认我蠢,连上一题都无法 回答的人,我还找死问这题!) A:阿!我有写过,用CreatThread...... Q:那是Thread,Thread和Process共用资料段,不需要啥特别的方法沟通。 A:喔~(沉默) 以上是我要求太高的面试心得,现在我考虑拿C / C++语言教材的前三章习题, 来当作相关工作经验三年,资讯系毕业的应徵者试题。 PS:面试者皆有相关C / C++程式开发经验两年以上,资讯科系毕业。 目前薪资在40k~50k之间的「即战力」人才。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.243.230.145
1F:推 StubbornLin:科科 不意外 06/01 14:42
※ 编辑: xsion 来自: 210.243.230.145 (06/01 14:50)
2F:推 ykjiang:所以我一直觉得年资这种东西根本就... 唉 06/01 14:53
3F:推 GregHowe:其实我庆幸转战到linux後....对这些东西的印象特别深 06/01 15:02
4F:→ GregHowe:该程式段如果用gcc编译, error message恐怕是new这个字 06/01 15:05
5F:→ GregHowe:不过不会动态宣告真的是太扯了, 都用array硬干很难以想像 06/01 15:07
6F:推 GregHowe:Process和Thread的差异, 在OS课本应该会有详细的描述 06/01 15:15
7F:推 GregHowe:但真正要了解其中的道理....唯有写过这样的程式才会体会 06/01 15:18
8F:推 iincho:这个Linux有什麽关系~_~? 换了平台猪不会变牛啊... 06/01 15:23
9F:推 GregHowe:资料库我不熟, 我写过的是影像, 和一些通讯 06/01 15:24
10F:→ GregHowe:malloc和free这些东西对我来说再熟悉不过.... 06/01 15:25
11F:→ GregHowe:尤其是自定资料结构, 更需要这种方式来和系统要记忆体 06/01 15:27
12F:推 iincho:不...你讲的东西和gcc/Linux基本上是没关系的.. 06/01 15:28
13F:→ GregHowe:我并不是说换了平台的关系....而是说在这样的环境下 06/01 15:29
14F:→ GregHowe:我不得不驱使自己面对这样的问题.... 06/01 15:30
15F:→ xsion:里面和OS有关的问题大概就是跨Process的沟通方式吧 06/01 15:30
16F:→ xsion:其他的是和作业系统平台无关的基础知识 06/01 15:30
17F:推 iincho:IPC每个平台都有, Process/Thread也不见得每个OS都一样... 06/01 15:30
18F:→ xsion:因为我觉得底子好,学啥平台都只是时间问题 06/01 15:30
19F:→ iincho:严格来讲几乎都是平台无关的问题吧...XD 06/01 15:31
20F:推 kerickuo:在我还没有面试过人前,这些问题我觉得回答不出来的人大 06/01 15:32
21F:→ kerickuo:学大概都在混,面试过人後,我发现回答不出来是常态... 06/01 15:33
22F:推 iincho:我比较意外的是开50K找不到人..:p 06/01 15:34
23F:→ kerickuo:所以到後来我筛应徵者学历>>>经历,要不然面试很浪费时间 06/01 15:35
24F:→ kerickuo:看起来不是没有人应徵啊 XD 而是来应徵的... 06/01 15:36
25F:→ xsion:其实我本想po徵才文 不过依照版规已经有三篇了 所以改po心得 06/01 15:38
26F:→ xsion:其实我找人没有预定预算,只要能用,都会开到合理的范围 06/01 15:40
27F:推 GregHowe:学历>>经历这样筛选方式, 倒不如透过原po的方式出考题 06/01 15:40
28F:→ xsion:问题就在於[堪用]的都很难...... 06/01 15:40
29F:→ GregHowe:不会写程式而很会考试的还是大有人在.... 06/01 15:41
30F:推 kerickuo:我是说浪费时间啊,照原Po这样出考题,筛到堪用的机会已 06/01 15:41
31F:推 iincho:小公司的话,没名气人家也不知道你薪水开的高, 所以不会想去 06/01 15:42
32F:→ kerickuo:经不大,基础知识如果有机会够,出些问题抓个能力程度, 06/01 15:42
33F:→ iincho:你要找的人大部分都在硬体厂, 少部分在一线的软体公司... 06/01 15:42
34F:→ kerickuo:就大概面试个几个人就有机会抓到可以用的,比起一直花时 06/01 15:43
35F:→ kerickuo:间面试,至少我不用因为要面试拖累了我手上的进度... 06/01 15:43
36F:→ xsion:没错 小公司面试国立高材生最後常常也是白忙一场 跑了老半 06/01 15:44
37F:→ xsion:的ofer最後人家还是会选择大厂 06/01 15:44
38F:→ xsion:所以我不吝於给私大或科大的人机会 想说其中应该也会有强者 06/01 15:45
39F:推 iincho:钱加下去就有了...XD, 不过一般老板不会这样干就是... 06/01 15:46
40F:推 kerickuo:反正小公司学历太好的不会来,挑中间学历的机会会比较高 06/01 15:51
41F:推 GregHowe:不会浪费时间啊....看考题会不会写....不会就打发走 06/01 15:51
42F:→ kerickuo:然後问些基础知识,还ok的就收了,没有什麽选择权。 06/01 15:52
43F:→ GregHowe:或者直接看有没有作品....会浪费时间吗? 06/01 15:52
44F:→ kerickuo:光是打发人走都很浪费时间啊 XD 06/01 15:52
45F:→ GregHowe:说的也是....总是要些客套话.... 06/01 15:53
46F:→ kerickuo:面试个五六个人,一个下午可能就没了... 06/01 15:54
47F:→ GregHowe:我真佩服小m的面试,都约晚上,一次一个人就两个多小时.... 06/01 15:56
48F:→ xsion:对啊 不说些客套话 怕人家上科技版黑特公司咧 06/01 15:56
49F:推 Huangs:写得还满传神的~ 06/01 15:56
50F:推 GregHowe:基本上....里面的科技版的资料还蛮有参考价值的 XD 06/01 16:02
51F:→ xsion:其实我也不怕人家知道题库啊 临时抱佛脚的人还是会一问就倒 06/01 16:05
52F:推 ykjiang:小 m 面试人的确很有耐心,这点不得不推 06/01 16:52
53F:推 avhacker:原 po 该不会以为这段 code 只有没 delete 这个问题吧? 06/01 17:06
54F:→ avhacker:main 中的 ptr 从头到尾都是 NULL, 没变过 06/01 17:07
55F:推 adrianc:楼上... 06/01 17:13
56F:推 iincho:科..有人提到盲点了...XD 06/01 17:14
57F:推 aacs0130:蛮多公司都有c/c++语言考卷的..有做功课应该都可以答出一 06/01 17:14
58F:→ iincho:这告诉我们出程式考题的时候不管怎样都要跑一遍.... 06/01 17:14
59F:→ aacs0130:些...ptr[2]这个bug答不出来就太超过了 06/01 17:15
60F:→ aacs0130:原PO有提到传值呼叫的问题..这个code能编译..不能执行 06/01 17:17
61F:→ xsion:请问iincho大,盲点是...? 06/01 17:25
62F:推 dreamcwli:fun() 根本没办法配置记忆体给 main() 里的 ptr 吧 = =" 06/01 17:44
63F:→ xsion:给楼上大大,这点内文有提到,C语言都是传值呼叫那行 06/01 17:49
64F:→ xsion:这一点就是留伏笔希望面试者回答要怎麽改的啊 06/01 17:50
65F:→ xsion:用double pointer, return value或整乾脆在main new都可以 06/01 17:51
66F:推 avhacker:漏看了,我看到你写"我期待...没delete释放" 就跳过了 XD 06/01 17:52
67F:推 iincho:xsion: 没啦, 我看错了 不好意思... 06/01 17:56
68F:推 onear:这些题目的确不难,这样就有50k,真好.. 06/01 19:55
69F:推 peacecorner:哪间公司阿 可以说吗 我也想去面试看看 06/01 20:05
70F:推 psliurt: 那间公司阿 可以说吗 我也想去面试看看 月薪40K就好 06/01 20:27
71F:推 achii:小公司还挑咧 06/01 20:40
72F:推 sougly:你那些问题我大概都会耶 但我年资 = 0 = = 06/01 20:42
73F:→ littlebau:所以就说阿猫阿狗现在都在当程式设计师了 ..正常啦 06/01 21:02
74F:→ littlebau:老实说 你的题目我也不会 我只会改BIOS code。 06/01 21:03
75F:→ littlebau:跟用C语言写简单测试tool跟小工具。我自认我是阿猫阿狗 06/01 21:03
76F:→ littlebau:型的工程师,而且像我这种的很多。遇到我这种的 不要 06/01 21:04
77F:→ littlebau:录取就对了,因为後面还有很多高手 06/01 21:04
78F:→ littlebau:就算是一个大一 大二的学生应该都会 都可以乐胜在职的 06/01 21:05
79F:推 leicheong:其实写.NET而依赖auto cleanup所以从来不dereference的 06/01 21:25
80F:→ leicheong:人也不少... 尤其是写script/VB转写.NET的人... (默) 06/01 21:26
81F:→ iincho:gc不是错, 是用的人的问题-_-;;; 06/01 21:28
82F:推 leicheong:我说的是auto cleanup (指执行点离开区段後会自动把区段 06/01 21:32
83F:→ leicheong:中宣告的变数设定为「可以被GC回收」的功能), 和GC没有 06/01 21:33
84F:→ leicheong:直接关系... 06/01 21:33
85F:→ leicheong:有这坏习惯的人在.NET中使用部份COM+元件时, 很容易出现 06/01 21:35
86F:→ leicheong:memory leak... 06/01 21:35
87F:推 iincho:姆...我不大同意这种因为原来写A所以写B的时候就会YY讲法.. 06/01 21:40
88F:→ iincho:实际状况是不管他原来是写什麽写B的时候都会发生YY的状况XD 06/01 21:41
89F:推 leicheong:我说的这问题在写VBA/VBscript时是没问题的, 甚至可以说 06/01 21:42
90F:→ leicheong:是常见的写法. 习惯的这样的构想方式的人在写其他语言 06/01 21:43
91F:→ leicheong:的程式时也常看到会被忽略而不自觉. 这是思考惯性的问题 06/01 21:45
92F:→ leicheong:另外说明一下, 思考惯性本身不是坏事. 用熟悉的思考习惯 06/01 21:47
93F:→ leicheong:编写程式後, 当bug出现时你就可以根据经验由过往最常 06/01 21:48
94F:→ leicheong:发现的错处开始除错. 这样能大大的缩短预计的除错时间. 06/01 21:49
95F:→ leicheong:还有用户回报错误时不改那里, 心中也可以有大概印象... 06/01 21:51
96F:推 Zbank:不意外 大多都是改程式 06/01 23:02
97F:推 uefang:C语言不能用new 06/01 23:22
98F:推 zeebra:vb.net 宣告阵列[2] 其实宣告了[0] [1] [2] 语言混着用 06/01 23:33
99F:→ zeebra:常常到後面就错乱了~~@#$#︿%&* 06/01 23:34
100F:→ xsion:to Zbank:我知道,所以我很体贴的改问对方malloc了 06/01 23:35
101F:推 leicheong:VB/VB.NET用阵列通常都是用回圈到.Length或UBound()吧.. 06/01 23:43
102F:→ leicheong:不知道最大的index是多少并不奇怪... 06/01 23:44
103F:推 final01:这三小 明明就编不过 C/C++混着写 你们工程师都这样干嘛? 06/01 23:44
104F:→ leicheong:然後写VB而想直接过渡到.NET的人, 甚至开始值也用 06/01 23:45
105F:→ leicheong:LBound()来决定... :P 06/01 23:46
106F:→ xsion:To fina101:C是C++的子集,本来就可以混着写... 06/01 23:47
107F:→ xsion:更甚者写C++不用C语法,根本写不下去啊。 06/01 23:47
108F:推 swindler:这种Code 在ㄧ些编译器是会过的 我试过 06/01 23:47
109F:推 swindler:通常在NEW完是要再CHECK记忆体位址 这种情况常看新人发生 06/01 23:56
110F:推 final01:恩~SORRY 我耍笨了 这可以过 我刚忘了include 06/01 23:59
111F:推 swindler:DEBUG 抓半天 有的新人连ERROR MESSAGE都看不懂 06/02 00:00
112F:推 juriolegend:有的是if/else一大堆在一个函式,都不会抽象化的 06/02 00:08
113F:推 y2k27:这种东西不熟也不会死 写个测试code跑跑看就知道 06/02 01:13
114F:→ y2k27:学问这麽多 不常用总是会忘 底子好能够快速想起就OK 06/02 01:13
115F:推 arenda:指标乱写电脑会当掉 考这个是正确的 06/02 13:29
116F:→ arenda:C/C++可以混着写 用extern "C" 06/02 13:30
117F:→ arenda:如果要使用纯c档的话.... 06/02 13:30
118F:推 Linvail:这种要求 台清交刚毕业就能胜任了... 06/02 21:46
119F:推 avhacker:楼上可能不知道台清交也有废物 06/03 00:13
120F:推 Linvail:我知道啦 推文没办法写那麽多 只要稍微挑过应该不少都行吧 06/03 19:10
※ 编辑: xsion 来自: 114.44.220.37 (02/20 23:17)
121F:推 kaibaseto:有准备国考的人应该都可以回答得出来 05/04 16:17







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Boy-Girl站内搜寻

TOP