基础没打好,找 C++的工作好难。。。

2016-07-01 00:18:23 +08:00
 sc3263

这几天面试,想找份 C++的工作。结果被各路大神各种虐。快被自己蠢哭了。

第一家公司做企业网盘的,需要重构桌面客户端。面算法的时候崩了。"N 个元素中取第 K 大的元素"没答出最优解,"找出数组中重复次数过半的元素"面试的时候除了各个元素计数最后找重复次数最大的元素之外,完全没有任何思路。(结果面试一结束就想到排序取最中间的元素。最优解更优雅,遍历数组剔除不同的两个元素)。最后 HR 礼节性的问了下期望薪资啥的。还是毫无悬念的被拒了。

第二家公司要做计费系统,还是做桌面客户端的。吸取之前的教训,好好复习了下算法,技术面没啥问题,薪资待遇没谈拢。实在接受不了”试用期没有公积金,转正了按照 6000 基数交公积金“,外加地点离自己买的房子太远了,没接受。

第三家公司做安全的,应该是被虐得最惨的一次了。画之前项目的架构图,画自己重写的模块的时序图。发现自己做过的项目自己都快忘了。特别是底层的通讯机制,真的是一边回忆一边画一边被吐槽,整个人都懵逼了。最后连“监听的 socket 有新连接进来时, select 中监视的事件是什么”都反应不过来。直接被面试官质疑”这个模块你到底有没有做过,到底负责哪个功能。你说出来我们才能好好聊“。最后还被面试官指出了发现了一堆之前根本没意识到的 bug 。读取线程读取 socket 并解码数据的时候把 fd 的值存在数据对象中,写入线程从数据对象中取出 fd ,把编码后的数据写入对应的 socket -> 读取时发现 socket 断开了, socket 关闭, fd 归还给操作系统。之后新连接复用了原来的 fd 的值。再然后写入时从数据对象中取出 fd 并写入。导致原来应该发送失败的数据,现在直接发给了某个随机客户端。这个 bug 真的一直都没注意过。

瞎写了那么多,其实总结下来就是,自己学艺不精。本来就是非计算机专业毕业,基础差,还不好好努力补。遇到问题上 google 搜一下,解决完就忘。很多东西都只是囫囵吞枣的理解了一下。大致说一下原理吧,都知道。一问细节吧,瞬间懵逼。还有就是,简历上写的东西,一定要确保自己真的真的都吃透了。要不然真的很尴尬。。。

4304 次点击
所在节点    杭州
37 条回复
kingddc314
2016-07-01 00:40:15 +08:00
C++后端更不好找
sc3263
2016-07-01 00:47:55 +08:00
@kingddc314 简历上写上 Qt 的话,很快就能找到工作的。但是真的很想找 C++后端开发的。去面试的几家公司,要么是后端,要么有能往后端发展的机会。感觉 C++这种语言,就是要追求跑得稳定跑得快,否则的话根本没必要用。。。但是 C++前端,真的没那么多机会给你优化性能。
3dwelcome
2016-07-01 00:59:22 +08:00
看你第二次挺顺利的、只是公积金不够罢了。和相亲一样、自己的要求高、期望值高、遇到合适的机会肯定就少很多。

很多时候、并不是技术不够、而是缘分问题。要说技术、 github 上大神一堆、追求没底的、 c++开发人员很容易陷阱细节、其实有 google 、肯努力肯学习新知识、这都不叫事。

面试被拒不是技术不够、大部分是公司也不是那么真诚的想招人。要不就把技术面拉的很高、要不就把薪资压到很低。
sc3263
2016-07-01 01:31:36 +08:00
@3dwelcome 感谢你的安慰。这事儿确实就和谈恋爱似的,得看缘分。
Andiry
2016-07-01 06:07:31 +08:00
面的这些东西和 C++没什么关系吧。
sc3263
2016-07-01 07:59:06 +08:00
@Andiry 因为面 C++的部分没写。毕竟靠这个语言吃饭的,常见的语法特性坑都还比较熟,聊起来都没啥问题。太深太新的部分,了解的不深,但工程上也很少用,面试的时候也很少问细节。毕竟绝大部分公司的编译器都被智子锁定在很古老的版本上😂
gulucn
2016-07-01 08:54:59 +08:00
@sc3263 ,既然第一家公司也喜欢这种面试题,推荐你看一下 http://blog.csdn.net/v_july_v/article/details/6543438 ,肯定对面试有帮助
sc3263
2016-07-01 09:07:45 +08:00
@gulucn 嗯谢谢~我瞅瞅~
Rect
2016-07-01 09:19:34 +08:00
”试用期没有公积金,转正了按照 6000 基数交公积金“

哥们这其实没什么问题。放弃三个月公积金(这三个月公积金即使交了最多不到 3000 块)而获得一次机会,很划算呢。
sgissb1
2016-07-01 09:24:55 +08:00
从你的面试经历上看,我只看出第一家和第三家你确实可能不适合对方的岗位。

另外第一家面试上来就考所谓的算法题,在想这会不会不妥。因为岗位和面试者的职业背景都需要考虑一下,不是一味的考算法就能体现出面试者或者岗位水平如何。

第二家的话,我估计可能还是你自己心态需要调整。总体来说,看你描述,你和对方公司都也不足的,也不需要过于自责
iamzhuyi
2016-07-01 09:27:04 +08:00
我只看到楼主都买房了。。
acoder2013
2016-07-01 09:52:59 +08:00
@iamzhuyi 我也是。。。
3dwelcome
2016-07-01 09:58:53 +08:00
买房不是很正常,写 C++一般都是有好几年工作经验的老码农,涉及核心代码,他们工资自然不会低。

找个 C++工作薪资肯定比 IOS 要好不少,后者的同行竞聘都是刚毕业的小朋友。而 C++不一样,同事年龄工资都高,自然水涨船高了。开得出价格。
testlc
2016-07-01 10:07:50 +08:00
@sc3263 上面你提到的连接池的 bug ,面试官提了建议吗?感觉是没有及时调整事件对应的 fd ?
sc3263
2016-07-01 10:17:36 +08:00
@Rect 主要还是太远了。。。等地铁通了基本就是坐地铁从城的西北边->市中心->城的东北边。至于公积金,我个人的经历是,试用期不给公积金的公司,通常还会有其他我个人不太能适应的规定啊公司制度啥的。。。

@sgissb1 确实没满足他们的条件。所以在恶补,顺带感慨一下,要补的东西有点多。第一家的面试,事后沟通的时候 hr 也说了,确实特别需要算法,所以面试的时候很看重这个。

@iamzhuyi
@acoder2013
其实还是在啃老。。。妹子说差不多该买房了,然后发现自己攒的家里攒的亲戚那边借的钱加起来,刚好够付个首付,然后就买了。至于“半年后推荐朋友买隔壁楼的房子,同样面积的户型,价格一样还送个车库外加装修升级”什么的,就是另外一个悲伤的故事了。。。
sc3263
2016-07-01 10:31:55 +08:00
@testlc 面试官只是提出来这个问题,问我当时在项目里有没有处理。确实是没有及时调整各个消息对应的 fd 。原先的 socket 已经断开连接了,消息应该发送失败,然后记录下来。现在直接发送出去了,没有记录这条错误。虽然说因为各种原因,实际并没有出现过这种 bug 。但总归是个问题,而且还是面试官一看就意识到,而我一直都没想到的问题。
testlc
2016-07-01 10:36:35 +08:00
@sc3263 嗯嗯
but0n
2016-07-01 10:44:13 +08:00
有过类似的经历,当时就懵逼了😂
zhaohui318
2016-07-01 11:19:46 +08:00
"找出数组中重复次数过半的元素"

貌似是这个算法 https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_majority_vote_algorithm
sc3263
2016-07-01 11:34:15 +08:00
@but0n 其实还是基础差,有些东西要想一下才能回答出来。一下子懵逼就想不出来了。。。

@zhaohui318 嗯,就是这个算法,原来那么有名~刚搜到的时候着实被惊艳了一下。。。谢谢~

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/289491

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX