想问下各位 V 友对于应届生择 C++岗的看法
2017-09-13 11:45:36 +08:00
zwzsddxk
小弟一直潜水,下午腾讯笔试,中午有点迷惑彷徨,想跟各位老司机交流交流语言学习和职业道路之法
学习了 Linux 和 C++也不短了,基本上大二末就一直在学习,今年适逢秋招,也算是经历了不少战斗了,想说说自己的想法....
首先内推基本上都挂了(双非本科,实习经历也很平庸,就是在某家小公司用 PHP 增删改查之类的),然后往前靠一点的秋招笔试也都觉得还 OK,除了头条和阿里的基本上编程题也都能 ac 个 1.5-2 甚至全 a,毕竟暑假也是花了不少精力刷 leetcode 和一些过往的题.也面了几家大厂,虽然是电面,个人感觉都答的比较到位,可能就是有时候语无伦次,但是我觉得起码意思都表达的到位了,70 %左右回答正确率吧,然后纷纷止步一面..可能是简历比较平庸
技能方面的话,大二开始看了 7,8 成的 CSAPP,也跟着后面的大作业写过个使用边界标记的用户空间的虚拟内存分配器,一个静态 html 的 webserver,之后也陆陆续续看了 unp(前 14 章,主要是觉得它跟 apue 的后面章节有点算工具书),陈硕老师的 Linux 多线程服务端编程,以及现在正在看的 c++ concurrency in action,感觉对线程模型,消息传递,reactor 也掌握不少,期间做过一个校级项目,服务端就是用 libevent+应用层心跳包的 tcp 去编写的,到今年年初,算是学习陈硕的网络库,自己也动手写了一个 c++11 版的,多了写额外的东西,不过大体架构都是以效仿,期间还看了 glibc 的 ptmalloc 的源码,和 Linux 对物理内存分配器的一些源码..
怎么讲呢,比如面试里要是让我谈谈 Linux 的文件系统吧,我也是能够介绍介绍 inode cache,dentry cache,VFS,buffer cache/page cache 之类的,但是由于对汇编不太感兴趣,对 Linux 也没有系统性的学习,比如保护模式什么的,基本上都不太清楚,所以干底层的话现在肯定是稍显稚嫩.
C++方面的话,我觉得虽然是新手期,没啥编程风格,但是比如写一个类,我都会考虑好能不能被拷贝,是浅的还是深的,值语义还是对象语义,需不需要 RAII 去控制,熟悉大部分常用的 stl 容器算法等等,虽然暂时写不出 stl/boost 这种模板黑科技满地的大神级代码,但是我觉得我编程应该还算规范吧..Linux 上的调试工具会的不多,gdb/二分 print 大法,网络编程时可能会用到 tcpdump,有时会用 pstack 看看有没有死锁啥的,因为写的其实玩具代码偏多,高大上的调试工具没有使用过...
说到底,我其实就想问问,应届生要到啥程度算是可以找一份 C++工作,或者说需要什么样的深度或广度才能驾驭的了日常开发 /维护的任务,其实我也知道没必要拘泥于某个编程语言,比如我在小公司实习时曾提出用 PHP 扩展编译 so 加入 php.ini 来解析接口,不过 leader 还是选择 json 格式和 json_en/decode 去解析,可能是 C++确实有种魔力吧,哈哈
求老司机指点...
26 条回复
albertofwb
2017-09-13 13:02:17 +08:00
看楼下大佬精彩点评
nbndco
2017-09-13 13:18:00 +08:00
看到“可能就是有时候语无伦次,但是我觉得起码意思都表达的到位了”,感觉你的表达能力不强所以答的其实并不好,虽然你觉得该说的都说了,但是面试官估计没抓住。而且学校不好又没有明显亮点显然是会吃亏的。
感觉你经历还挺好的,至少会的比我多……
kuhung
2017-09-13 13:34:33 +08:00
少用长句,多用短句。开篇明义,段末小结。:)
zwzsddxk
2017-09-13 13:54:10 +08:00
@
nbndco 语言表达确实还需要锻炼,这方面一直是弱项...PS:大佬说笑了,我会的真不多,很多东西没有深入研究过
Hieast
2017-09-13 14:00:04 +08:00
先把这个提问优化好。
标题开宗明义了吗?
后面虽然分了段,但是每段有主题吗,联系起来能说明什么问题吗?
我觉得楼主应该针对性练习一下表达能力,从文本开始,逐渐内化到语言中。有本金字塔原理的书就是讲这个的,虽然很罗嗦,废话也多,但是还是有营养的。
zwzsddxk
2017-09-13 14:17:45 +08:00
svenFeng
2017-09-13 14:44:44 +08:00
哇。。。楼主不要气馁。。。比我强太多了
zwzsddxk
2017-09-13 14:55:49 +08:00
@
svenFeng 没有气馁,我没那么容易被打败,只是不知道这个职位所需匹配的能力
coderluan
2017-09-13 15:18:05 +08:00
我是建议别选的。
因为从公司角度,C++后台实在性价比太低,市场日益萎缩,职位非常少了,抛开大厂,就更别说了,大厂楼主学历也是问题。所以搞 C++后台,真的很容易搞成屠龙之术,高不成低不就,市场就这样。
想搞 C++,不妨往计算机视觉图形图像之类的方向发展,这个领域还是 C/C++的天下,毕竟性能在那摆着。想转也不难,在现在的基础上,学一本冈萨勒斯,一个 opencv 就行。之后主要研究算法和性能,而不是复杂的特性和业务。
JAVAnono
2017-09-13 17:40:44 +08:00
中低端的还是 java、安卓、ios、前端这些岗位需求多
chinuno
2017-09-13 18:56:21 +08:00
去年毕业,从实习的时候就一直做 c 艹到现在。Windows 客户端,网络流量处理,系统服务端都做过。其实按照你说的条件做 c 艹完全是没问题的,实际上开发要求不高 gdb 会用知道什么时候用什么数据结构,最多用点设计模式就能做得很好了。当然因为较为底层的原因莫名其妙的问题可能会比其他语言多一点,真的对操作系统熟悉的话都是能自己解决的。
毕竟不是做嵌入式,基本上不会用到汇编,这点应该不用担心。不过做图形的话可能用到 glsl 之类的东西。
刚开始工作的时候也觉得做 c++要求应该要很高,实际上并没有。所以你要考虑的倒不是招 c++你能不能达到要求,而是有哪些公司要招 c++的了。。
zhangyifei216
2017-09-13 19:22:51 +08:00
经历很不错,坚持吧,看你的学习经历,我觉得你 ok 的,我大概也是这条路子走过来的,只是可能比你时间更久
tramedy
2017-09-13 19:32:51 +08:00
除了少数拿 C++做后端业务的大厂,C++相关的岗位本身不多,而且都比较底层。很多优秀的学生都是有 C++基础,没有 java 或者工程基础,所以 C++的校招虽然人多,但是普遍水平都不低(差的也很差)。
当然了,楼主的水平已经在应届里面算很好了,后面收获 offer 完全没问题。校招才刚开始呢
zwzsddxk
2017-09-13 19:36:04 +08:00
@
coderluan 我同学也有进鹅厂的,有的时候,还是得看命啊
zwzsddxk
2017-09-13 19:39:41 +08:00
@
chinuno 唉,主要是实习的时候光看着工资了,应该找份 C++的岗的,没写过生产环境的 C++代码,一直听说什么 TDD,测试不覆盖 95%不上线啥的,觉得可能跟别的开发流程还是有区别的..PS:感谢您的文字,很有教育意义
zwzsddxk
2017-09-13 19:41:18 +08:00
@
zhangyifei216 我自觉得应该算是野蛮生长了,不会的自学,看不懂的到人项目下提 issue,学校里根本没这方向...
zwzsddxk
2017-09-13 19:42:31 +08:00
@
tramedy 是的,现实的确如此,借您吉言,祝您工作顺利
coderluan
2017-09-13 21:11:37 +08:00
@
zwzsddxk 嗯,现在还是可以专心投大厂的,成功了自然好,将来转型的方向也多,我说的你校招进不去可以再当成一个转型的方向。
chinuno
2017-09-14 12:06:54 +08:00
@
zwzsddxk 测试用例。。之前我也问过华为和鹅厂的人,他们说都不写测试用例的。现在整个部门也只有我在写测试用例,感觉上影响也不是很大
JiuMeiandBashu
2017-09-14 14:18:37 +08:00
好像我同学.....,不会这么巧吧。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/390324
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.