首页 > 如何才能春招体面厂做兄弟?(可能需要一个好的项目)
头像
华山岩上松
编辑于 2021-01-24 14:56
+ 关注

如何才能春招体面厂做兄弟?(可能需要一个好的项目)

双非渣硕通信狗,学校就是很普通的那种,自身也是很普通的那种。秋招已签,公司给的薪水在二线城市还行吧,公司风评hhh,所以萌生出了春招再战的想法。还有就是身边的同学一个个都去了大厂,实在是有些羡慕(不,是不甘心)。。。本来的计划是找个寒假实习的,要知道实习的背书效果在面试的时候是很强的。但是作为一名普普通通的研究僧真的很难,秋招是和小论文一起进行的,春招是和大论文一起准备的,打工人真的太难了。身边好几个秋招不满意的同学都去帝都实习了,奈何boss不放实习,周周开着会赶着我大论文的进度。实习的背书效果是最强的,退而求其次就是再做一个项目。C++的项目真滴挺少的就,于是在逛牛客的时候,发现了这个C++项目课程,一看价格也着实不贵,直接入手。之前就有个项目,再加上这个希望后面的简历能好看些。我不是冲动消费,仔细衡量过之后,自己确实是需这个课程的。

春招准备:每日一题+剑指offer(这本书在第5层),大佬说剑指offer掌握了,大佬就在第5层;普通人说剑指offer掌握了,那可能只是在第2层。另外牛客统计了面试中出现的题的频次也是很好的参考,普通人刷算法真的是艰难。基础的话,也啃过类似csapp之类的书什么的,但是这种圣经看一遍难窥其中奥妙,我还是觉得在牛客怼C++的面经比较有针对性。项目的话,把之前的项目复习好,然后跟着牛客的课程把新项目做好。大体的安排就是这样,希望大佬们也可以给我提一些建议。

这是牛客的一门新课目的性很强就是备战今年的春招。目前课程仍然在更新中,课程已经更新了第一章(Linux系统编程入门)的全部和第二章的前六节(Linux多进程开发),总共是有五章。具体的授课内容可以在牛客的课程主页上能看到,课程的价钱和授课时间可以说是很良心了。学习这门课,印象最深刻的是它的实操性很强,(这都要得益于优秀的高老师)。第一章介绍了开发环境的搭建(vscode + xshell简直不要太香,装了插件之后直接起飞。老师真的巨好,帮每个同学处理好环境问题)、gcc的使用(用实际的例子带你看编译中间生成的文件,了解每一步具体的工作,以前总是容易忘,实际操作一番印象还是要深刻一些)、动态库静态库的制作、动态库加载失败的原因(怎么解决)、makefile的编写(初级水平吧但是应付面试足矣)、GDB调试(老师会构造具体的场景,来教你怎么调试,同时也会很细致比如在循环和函数中跳出时候需要满足的条件,我总算不怵gdb了)。虚拟地址空间、文件描述符等。后面就是系统编程中经常调用的API,对于各个API函数的讲解,教你去man 通过阅读手册来学习一个陌生的函数,并且会编写demo来演示函数,授人以鱼不如授人以渔,这才是学习Linux系统编程的正确姿势,毕竟里面的API函数太多了。讲课中间还会穿插一些高频的面试考点,这真的很棒。在课程中还会穿插一些小作业:比如模拟实现ls-l命令,目录遍历功能的实现等(这些小的作业都能加强对对知识点的掌握)

第二章的前六节主要还是讲进程,进程的概念,状态转换(高频)。进程的创建,父子进程的虚拟地址空间(现在的fork是写时拷贝,这块要是能加上一些关于fork的面试题或者拓展一下vfork就更好了),后面讲了exec函数族。还有gdb的多进程调试,真的是爱了,是很实用的东西。有些东西不练习学习效果真的是不好。Linux编程的学习构造学习场景还是蛮重要的。

通过目前课程的学习,我回顾了Linux中常用的基础知识,巩固了基础,最开心的是gdb总算是达到了可用的水平(很有收获)。之前也看过高性能什么的书,效果一般,我是那种视频选手吧。不管怎样,我的体会是想要学好,还是得用起来。对后面的项目有很高的期待

老师很负责任,有专门的答疑讨论群,回复很迅速;课程内容安排比较合理,价钱也不贵哟;实战性很强,能学到有用的东西;如果你没有实习的话,多一个项目显得就重要了。相信经历过秋招的大家,能明白自己真正需要的是什么(有一个好的项目真的太重要了!)。春招+新年给牛油们大回馈,通过这个优惠码(AFyHS4o)购买,可以为你节省150大洋。这是互惠互利双赢的好事,想购课的同学不要错过,距离春招已经没有多少时间了,有想进一步了解课程的也可以私信我。这都是我最真实的感受,能感受到到就是能感受到,感受不到就是感受不到,佛系推课程。就这样吧,我要去复习啦

购课链接:
最后祝大家春招都能收获心仪的offer
-------------------------------------------------------------------------------------------------------------------------------------
第二章更新的内容:
进程的基本概念,进程的退出,什么是孤儿进程?什么是僵尸进程?(面试高频)出现僵尸进程的解决办法?如何让进程体面的结束,它可能需要一个收尸人(其父进程的wait函数,只能是阻塞;以及更高端的waitpid函数,可以是非阻塞的,参数pid和options都有了更多的选择)。进程间通信的简介(八股文)同一台主机pipe,fifo,信号,消息队列,共享内存,信号量;不同的主机socket(网络编程)。匿名管道的概述,父子进程如何通过匿名管道通信(ps aux | grep xxx命令的实现),已经怎么将匿名管道设置成为非阻塞的,匿名管道读和写的特点:
总结:
读管道:
管道中有数据,read返回实际读到的字节数
管道中无数据:
写端被全部关闭,read返回0,相当于读到文件尾
写管道没有完全关闭,read阻塞等待
写管道:
管道读端全部被关闭,进程异常终止(进程收到SIGPIPE信号)
管道读端没有全部关闭:
管道已经满了,write会阻塞
管道没有满,write将数据写入,并返回实际写入的字节数

github上有大量的优质开源项目,要是能自己搞最好了(读源码对于C++程序员就是在修炼内功),搞不了的话,听别人讲讲也能够有所得的。

前几天错过了菊厂的IP电话,打击很大,只能好好学习,安慰自己后面还有更好的,这就是有缘无分吗???周围一批od的同学都上岸了mmp
铁子们记得手机调大音量以免错过重要的事情。
---------------------------------------------------------------------------------------------------------------------------------------
有名管道fifo的介绍和使用,穿插了一个小例子有名管道实现简单版聊天功能。
内存映射,主要是是介绍mmap函数
什么是信号?信号的三种状态,信号的五种默认操作,已经信号的实现原理。
和信号相关的函数:kill、raise、abort函数,都是操作信号的常用函数(常看常新),现在已经搞不懂有些函数的意思了,但是你有man手册(这就是为啥有些公司会要求英语水平了,有些大厂会要求)
alarm函数产生一个闹钟信号,它的特点是什么?
setitimer函数,可以周期性的产生闹钟信号,可以设置闹钟开始的延迟的时间,也可以设置间隔多久会产生闹钟信号
signal函数信号捕捉函数,可以对信号做自己定义的处理,而不是采取信号本身默认的操作
信号集还有和它相关的函数,进程中的信号集有未决信号集(由内核维护),还有阻塞信号集(用户可以用特定的接口来设置)。PS: 未决信号集表示每一位信号都只有一位,所以它只能处理一个信号。如果设置了阻塞信号集中的信号,那么进程收到信号就会挂起进程。
sigprocmask函数
sigaction函数,和signal函数的功能一样,但是它的通用性、移植性更好,建议使用。
SIGCHLD信号产生的三种情况:子进程结束了;子进程stop;子进程继续执行。如何用SIGCHLD信号来处理僵尸进程。
共享内存shmget函数,shmat函数,shmdt函数,shmctl函数,ftok函数,一个利用共享内存读写数据的demo
什么是守护进程?什么是终端?什么是控制终端?什么是前台进程?什么是后台进程?什么是进程组?什么是会话?以及我们如何去写一个守护进程的demo:fork之后,关闭掉父进程;然后子进程用setsid函数,这样才能成为守护进程。
这门课程和游双大佬的《高性能服务器》一起食用更加。还有就是最近被之前秋招心仪的公司捞了,各方面都比较满意,但是攻城狮不就是要一直学习才能提高自己的水平嘛。我会努力跟着把课上完的 。许愿和同学能够大吉大利今晚吃鸡,哎我是在是太菜了。
希望各位牛油们都能够找到满意的工作,美好的事情即将发生!!!

---------------------------------------------------------------------------------------------------------------------------------------




全部评论

(1) 回帖
加载中...
话题 回帖