基础没打好,找 C++的工作好难。。。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sc3263
V2EX    杭州

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

  •  
  •   sc3263 2016-07-01 00:18:23 +08:00 4958 次点击
    这是一个创建于 3442 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    @zhaohui318 嗯,就是这个算法,原来那么有名~刚搜到的时候着实被惊艳了一下。。。谢谢~
    acros
        21
    acros  
       2016-07-01 11:36:03 +08:00
    @zhaohui318 这个我是在 leetcode 上看到的

    目前还在 easy 难度推进中
    j4fun
        22
    j4fun  
       2016-07-01 17:42:04 +08:00
    不知道 LZ 有没尝过被面试官忽悠的经历。刚开始答的很顺利,我说的眉飞色舞。然后面试官突然转移话题,问了个很奇怪的问题,看我答不上来,他就围着这个问题一顿问,当时就懵逼了。我居然还问什么都不会,适合这个岗位么。回想起来我那是脑子肯定进水了 = =!而且后来去查了相关的知识点,发现面试官说的是错的,喵的!= =
    carlding
        23
    carlding  
       2016-07-01 18:41:25 +08:00
    第一个的两道算法题都是“结构之法”上的。第一题快排,第二题根本不需要排序...时间复杂度 o(n),空间复杂度 o(1)就可解出~~~
    sc3263
        24
    sc3263  
    OP
       2016-07-01 18:51:28 +08:00 via iPhone
    @j4fun 刚工作那会儿经常遇到类似的情况。现在好像少很多了。我猜,大约是面试的企业越来越靠谱了
    sc3263
        25
    sc3263  
    OP
       2016-07-01 18:53:12 +08:00 via iPhone
    @carlding 嗯,回来查资料的时候看到了。正在向楼上的哥们学习,努力刷 leetcode 。。。
    Lautitia
        26
    Lautitia  
       2016-07-01 21:07:12 +08:00
    小哥啥专业的,怎么想想入了计算机这个坑
    sc3263
        27
    sc3263  
    OP
       2016-07-01 21:25:50 +08:00 via iPhone
    @Lautitia 一直以来的梦想就是当个程序员。高考填志愿的时候爹妈不懂,填了个其他专业。于是毕业之后就一直在填自己当年挖的坑了。。。
    Lautitia
        28
    Lautitia  
       2016-07-01 21:44:58 +08:00
    @sc3263 我觉得吧,你没必要入 C++的坑,别的语言也是可以的呀,能在计算机领域发挥你原有专业的特长是最好了
    sc3263
        29
    sc3263  
    OP
       2016-07-01 21:55:38 +08:00 via iPhone
    @Lautitia 原先专业的知识已经丢的差不多了而且对那个专业真的是没啥兴趣。。。
    newghost
        30
    newghost  
       2016-07-02 11:47:25 +08:00
    跟基础没关系, C++国内需求偏写,学 JS 大法吧。

    你第一家做企业网盘的公司叫什么?
    sc3263
        31
    sc3263  
    OP
       2016-07-02 12:28:06 +08:00
    @newghost 现在待的单位需要,正在学呢。然而还是想继续写 C++。
    ShiHou
        32
    ShiHou  
       2016-07-02 12:35:06 +08:00
    第一个是快选,第二是在栈上做消除。 建议去系统的补一下数据结构吧。
    sc3263
        33
    sc3263  
    OP
       2016-07-02 13:42:21 +08:00
    @ShiHou 恩。正在补。
    jeffersonpig
        34
    jeffersonpig  
       2016-07-02 14:26:48 +08:00
    @j4fun 这种情况一般是面试官故意“刁难”你,这是种面试手段。问这种问题一般不是为了了解你懂不懂,只是为了看应聘者在紧张情况下能不能有清楚的思路罢了,至于说得对不对,面试官也不关心
    lixingcong
        35
    lixingcong  
       2016-07-02 22:56:01 +08:00 via Android
    那个断 socket 的 bug 很像 shadowvpn 的 bug 。。

    具体表现为,路由器使 shadowvpn 翻 q 时偶尔出现 connection reset ,抓包发现是局域网其他 ip 发送 reset 到我的 ip 。。。醉了
    j4fun
        36
    j4fun  
       2016-07-14 12:28:14 +08:00
    @jeffersonpig 对,当时确实就慌了。。。脑子一片空白><...第一次面试唉~
    lv1015
        37
    lv1015  
       2016-07-19 17:37:24 +08:00
    @sc3263 楼楼,我还是感觉 golang 大法好。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4561 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 04:00 PVG 12:00 LAX 20:00 JFK 23:00
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86