普通学校找工作总结,不进来看看?

如果有不妥的地方,不要喷我 >.< ,请指出,我一定改正
更新一下---------------------------------------分割线------------------------------------------------------------------2016.9.10
我发现大家比较感兴趣我是怎么在5个月内看了这么多书,并且还刷那么多题的。我说说我的方法,但是不一定适合你,如果觉得有可取之处可以看看。
在学校,不可能一天12小时都干自己的事情的,导师分配的活肯定得完成吧,那么算下来时间更少了,有时候偷偷的学。
我一开始在计划整个过程的时候也感觉不可能完成,特别是找实习很受打击,还消沉了好一阵子,幸亏我的一个好朋友,华工大神愿意搭理我,也让我坚持继续复习下去。
一开始以为对这些知识的学习曲线会是一条斜率接近于0的方式,那么我想,怎么都不可能看完这些所有的书并理解相关知识点,并且还要深入,事实上深入反倒帮了我,因为前面的基础比较好,后面的知识很容易串联起来,甚至可以根据前面的知识反推后面的结论,因此后面学起来会很轻松,并且很快。
所以问题其实在于刚开始的时候怎么坚持下来,可能我唯一的优点是自控力很强,自己计划的事情一定能做完。有难到简,从基础到复杂,后面看起来复杂的知识点不过是前面东西的堆积罢了,除非是一个新领域,比如突然跳到机器学习。想设定一个小目标,当然不是先赚一个亿,也不用拿蘑菇街的offer,把c++prime基础语法看明白就OK了,到这个时候你肯定会有很多疑问,疑问就是学习最好的方向,慢慢的,当你要去解决这些疑问,这是知识就是你真正掌握的了,因为你连问题都能解决,连原理都能弄明白,还有什么不会的呢。这里我说的是应付面试,不是真正精通c++啊。

对于写代码来说,不懂很自然的就是去看源代码了,所以linux源代码本身就是一本很好的参考书,由于内容过多,方向不容易搞明白,因此跟随一本不错的参考书是有助你加速理解其中的奥秘的。很有可能在看了源代码之后,还是不明白,我的建议是,大家肯定比我聪明,智商比我高一大截,自己多想想,理解是不会有问题。

如果是网络编程或者进程通信或者线程同步,问题就是你学习的最好方法,没有遇到问题,要么是你是在太聪明,一切问题对你来说都不是问题,要么就是你没明白。

更新一下---------------------------------------分割线------------------------------------------------------------------

先介绍一下自己的情况,不是每个人都能有一个很好的学校做背景,我想在这里像我这样的普通学校学生更多,本科一本,研究生没考上 985 ,然后。。还是。对了,学业成绩最后一名,什么奖学金是没有的,另外比赛就只有华为的一个比赛,还是抱的别人大腿。我还是电子专业的,有一点 c 语言功底,今年三月份开始想以后到底要走哪一条路,毅然决然开始学习 c++ 和后端架构。

然后说说我到今天为止,拿到的 offer ,百度笔试通过(应该没问题了),腾讯电话确认(变化应该几率不大吧), CVTE 中研院深度学习,携程后端架构(正式 offer ),华为云计算在资源池

跟大神来比,什么都算不上,但我希望能够帮到一些像我这样比较“渣”的朋友。

首先,你需要有一个努力的方向,想清楚自己到底要不要转到计算机,毕竟要自学的东西有点多,转到计算机之后想要从事哪一方面的工作,前端后端客户端还是算法,语言选择 cpp 还是 java 或其他的,想好了之后就开始坚定的学习,别人的嘲笑最好不要影响你。

从开始投简历到拿到 offer ,我认为对我来说是简历能不能过,目前简历过的我都拿到 offer 了,其他的简历全部没有通过,所以没有项目经历,没有实习,没有奖励比赛如何通过简历筛选是最难的一个问题,而简历关恰好又是第一关,很容易打击自己的信心,所以简历一定要好好写,我三月份开始找实习就没人理我。。。

我从三月份想以后从事后端工作,需要一些什么样的技能能够通过层层的面试,自己一定要清楚,从哪里找这些信息呢,其他网站上的招聘要求,别人写的面经等等,最后发现其实都差不多,面试从来就没问过很难的题

我也总结一下我所经历的面试,但不会详细的写每次面试都问了什么,因为那些都是变化的,而本质是不变的。

1、 c++

c++ 是我选择的一门语言,因为我还比较熟悉 c 语言,那时候认为两者没什么区别,以为将 struct 写成 class 就是面向对象了。哎

基本很重要的 c++ 书籍 《深入探索 c++ 对象模型》、《 effective c++ 》、《 more effective c++ 》、《 c++ 沉思录》、《 c++ 模板元编程》这几本书籍,最后一本可以只是了解一下,但是前面几本一定要看懂、理解。任何人问你,你都能举一反三,相互联系,比较严谨的逻辑讲给别人听。

那对于面试官问里面的相关知识时,多态是最多的,我一般按照这个方法来回答, c++ 是怎么设计的,为什么要这么设计,有什么样的好处,如何使用 c++ 达到类似的效果等等自己可以继续扩展,总之就是一定要非常的深入。

2、 linux

这应该是比较难的一部分了,包括

1 、常用命令, ls 这些就不算了,主要有 grep awk sed ss top find 等等还有一些性能调优的命令

2 、操作系统知识,线程、进程,他俩的区别于相同点,何时使用它们,同步(通信)方式,这就又延伸到共享内存、信号、信号量、各种锁。同样的回答这些问题时,你要回答的不一样,比较深入才行。比如从原理,历史来源、论文、改进方式、源代码开始讲,一层层的讲出这些设计的本质,面试官会比较喜欢的。

3 、源代码

重点部分:文件系统、进程管理、进程切换、内存管理这几个部分,其中文件管理和内存管理尤为重要。包括 vfs 虚拟文件系统,一个完整的文件操作过程比如 read write 等等,文件映射 mmap ,共享内存等等可能需要花一点时间理解这些东西。

3、 网络部分

网络不管你是想从事哪个方向,基本都是重中之重

我的学习方式:看书和看源代码,由于 tcpip 是开源的,可以仔细看看其中状态转换过程。

Tcp 最为人知的三次握手和 4 次挥手,你一定要能够讲得出为什么,每一次出现错误会怎么样,为什么要 3\4 次,少了行不行。

比如什么情况会有 flood 攻击, timewait 攻击等等

tcp 中如何实时监测断线情况,以及实现断线重连等等

另外还有很重要的拥塞控制、拥塞避免,慢开始算法、快重传快恢复, ttl 时间计算。

推荐一本很好的书《 linux 高性能服务器编程》、以及《 Linux 网络编程实战》也不错。

当然啦 unix 网络编程, tcp 三卷是不能少的。

4、 数据结构和算法

这个东西在面试和笔试时都比较有用,并且能够在白纸上手写,数据结构问的最多的并且会难一点的应该就是二叉树了,包括 bst 、红黑树,一般二叉树的各种遍历,非递归,红黑树的性质,插入删除操作, tree 树的简历,还有 hash 的冲突处理方式。

至于算法

就练习 leetcode 或者牛客的吧,至少把 easy medium 刷好几遍,然后 hard 部分题目多刷几遍,因为 dfs 和动态规划很多好题目都在里面。

我面试过程中,写过这些代码,图的 dfs bfs dijkstra ,树的各种非递归遍历、很简单的动态规划,字数组系列。

5、 开源库阅读

我也没有读很多开源库,但至少 stl 要非常熟悉, boost 部分熟悉, linux 内核部分很熟悉, libevent mem***d redis 还有 nginx 尽量熟悉。

6、 面试技巧,加分项

不管是现场面还是视频或者电话面,不卑不亢,自信很重要,将你知道的东西娓娓道来,逻辑性一定要强,毕竟写代码还是需要一点逻辑性。

7、 最后给大家来点鼓励

可能是因为我运气比较好,面试的所有东西都是基础,并没有问过于难为我的问题,因此你只要基础扎实一点,大部分面试都是没问题的。

最后再次强调一次,简历是第一关,如果过不了,后面的都不用谈了,所以一定要好好改简历,你想想我这种最后一名、无项目、无奖学金、无学校名气的学渣都能找到工作,你们肯定可以的。

全部评论
赞LZ的扎实~ 也喜欢LZ这种踏实的文风,不像有些人写的面试掉渣天的样子
点赞 回复
分享
发布于 2016-09-09 23:32
楼主,项目方面的有没有分享呢?
点赞 回复
分享
发布于 2016-09-09 23:06
联易融
校招火热招聘中
官网直投
挺佩服楼主的。天赋也绝对是你的过人之处之一!
点赞 回复
分享
发布于 2016-09-09 23:11
五个月准备时间,这也太长了吧?
点赞 回复
分享
发布于 2016-09-09 23:16
楼主还是很吊的 方向差不多 但是楼主比我掌握的要深多了
点赞 回复
分享
发布于 2016-09-09 23:16
我想知道你是怎么在这半年时间没看这么多书带刷题的
点赞 回复
分享
发布于 2016-09-09 23:18
基础很硬啊,我佩服!!!
点赞 回复
分享
发布于 2016-09-09 23:20
楼主的基础 吊
点赞 回复
分享
发布于 2016-09-09 23:24
楼主很厉害,佩服
点赞 回复
分享
发布于 2016-09-09 23:29
好牛逼,传说中的大神应该就是你这样的了吧
点赞 回复
分享
发布于 2016-09-09 23:39
佩服, 我一个非科班,投php和java然而都不深入,哭倒在厕所里
点赞 回复
分享
发布于 2016-09-09 23:41
lz很吊,这些书我看了一年半也没看完啊,你是怎么学习的呀,你平常只看书么,编程时间有多少呀
点赞 回复
分享
发布于 2016-09-09 23:58
楼主从三月份到现在就把这些书看完了 厉害
点赞 回复
分享
发布于 2016-09-10 00:09
楼主好踏实,也很扎实! 佩服佩服
点赞 回复
分享
发布于 2016-09-10 01:03
楼主也是研究生喽
点赞 回复
分享
发布于 2016-09-10 01:21
楼主基础实在佩服.只是想问一下,拿到的这个CVTE   中研院深度学习,应该是研究员吧? 那楼主机器学习领域都是怎么复习的?是不是在做相关工作?这里面试都问了些啥问题?谢谢.
点赞 回复
分享
发布于 2016-09-10 01:25
顶一下
点赞 回复
分享
发布于 2016-09-10 01:28
楼主是“学渣”
点赞 回复
分享
发布于 2016-09-10 02:47
可以,这很“学渣”……半年时间学了这么多,怎么做到的……
点赞 回复
分享
发布于 2016-09-10 09:09
非常感谢楼主,买了几本经典书翻没几页看不下去的哭晕在厕所。。。。
点赞 回复
分享
发布于 2016-09-10 10:17

相关推荐

头像
春招该投的都投了,但没什么面试,三月中旬才开始投,感觉真的晚了。复盘暑期实习到秋招,暑期实习的时候八股背的太晚,四月份才开始背八股,准备的太晚,学习效率也低。五月底收到某大厂offer。六月中旬到八月中旬实习。九月到十月夹杂着面试和论文,论文中间还重审了一次,修改了很多次。所以秋招主要是在改论文,并没有全力以赴找工作。论文工作一直持续到十一月中旬。十一月中旬论文答辩结束。但这时候秋招也步入尾声,而且我八股算法也准备的并不充分。十一月下旬到十二月,我也是处于低效学习的状态,学习了webpack、nodejs和react,对八股和算法也没有练习。一月到三月上旬去深圳提前实习,因为暑期实习的时候感觉没有做什么东西,而且想感受下深圳组的氛围。而且我在暑期实习之前实操代码并不多。所以一月到二月的这段提前实习不能说是坏事,但我在实习的时候确实也没有能够完全全力准备八股和算法。三月中旬才开始准备,并且学习效率不高。对很多八股都充满忘性,因为没能经常复习。复盘我的校招之路,感觉最大的问题是准备太晚,复习不到位。因为准备不到位所以很多好的机会都错过了,犹豫不决不敢投递,总是觉得没准备好,很多好的组内直推机会都没有把握住。学习效率低,总是花很多时间在内耗和玩乐聊天上。实际上这种玩乐是很低级的趣味。人应该追求更高级的快乐,比如投入去做一件事情,把它做好,证明自己不是个只会玩乐的fw。事业是人生的重要组成部分。对未来做出计划就是保持学习,保持竞争力,机会是留给有准备的人的,一定要好好准备在机会来临的时候可以把握住它。可以翻盘。
点赞 评论 收藏
转发
47 198 评论
分享
牛客网
牛客企业服务