疫情下,我选择了离职... ; 工作三年老程序员,谈谈职业规划
疫情之下,确实行情不好,相比去年招聘信息少了很多,因为去年这个时候我也在跳槽。建议:不是非要离职的话,以稳为主,不要瞎跳!!!有钱任性的话,随意了
疫情离职
疫情之下的面试益处
疫情之下带来的跳槽好处,就是面试带来了方便,之前面试你必须要去公司,你说可以电话面试么?HR一定会说:不可以!!!现在不一样了,如果你说:可以去公司面试么?HR一定会说:你隔离满14天了么?...。所以为骑驴找马带来了方便,电话或视频面试,可以拿offer了...
原因
看到这个标题,你们一定很好奇为啥离职?原因主要有以下几点:
- 太辛苦,每天都要半夜1/2点下班,一周6天
- 呆着不舒服
原因涉及到关键词就是"健康",熬夜加班会直接影响身体健康!!!呆着不舒服会影响心理健康,其实很多人并不重视心理健康,不是我瞎白活的,钟南山院士,也说过:人的身体健康,一般源于心理健康。
职业规划
无论毕业、还是跳槽找工作时,一般都会问到职业规划。
毕业时,没有规划、也不知道职业规划,很盲目,不知道自己能做什么,能找到一份工作就可以了。
工作之后,渐渐有了目标,知道我要做什么,我能做什么...。
先说说我的职业规划吧:一直会做linux C/C++开发, 毕业五年之内,会去尝试不同的行业和技术方向,去学习、沉淀一些东西,五年之后,争取进入大厂,稳定下来。
行业很重要(传统和互联网)
之前的文章也有透露过,是从传统IT行业跳到互联网的,列出简单的几点区别:
- 工资,也是最受关注的一点,几乎是double
- 福利待遇 下午有水果,晚上加班有零食,有专门的健身房,打车报销,各种活动(周年、旅游、年会...)
- 五险一金交的比例,其实很多人不重视这个,也不管公司是怎么给你交的,其实这是有很大区别的。举个简单的例子,之前是最低比例交的,之后是全额交的,后面两个月交的公积金的钱,就抵上之前2年的交的钱了,这笔钱可以取出来的,一年就好几万!!!
这么好,有什么缺点,当然有,加班多到你怀疑人生!!!
跳到互联网需要准备什么
看到前面写的那么多好处,是不是心动了?简单说下跳到互联网需要准备的:
- 首先,技术一定要达标,传统行业和互联网的技术,用天壤之别来形容,一点也不为过!不要觉得,在传统行业呆两年,只会做些简单业务,只会抱怨公司这不好那不好,也不想想自己能为公司做啥,简单业务都做不好,业余时间也不学习,就想跳槽到互联网,我只能说:别做梦了!!!再跳到互联网之前,没人知道我付出了多少?
- 辛苦加班多,你要做好心理准备!!!带来的就是节奏快,不停的开发、改bug...
每一次去大厂面试都被虐地很惨,但收获还是很多的,分享出来,希望对你们很有帮助!!!
笔试
电话铃声响起,拿起电话,简单问了下有木有时间,然后说加微信沟通,简单问了下业务,然后出了一道笔试题,笔试题很有特色,只有一张图片,如
简单介绍下题目吧:就是用三个线程打印出图片中的效果,(注:C++没有协程,python/go有,面的是C++,所以用c++实现的);要求:25分钟运行出来并给出源码
下面是我的代码,用了C++11的特性,供大家参考:
#include <iostream> #include <thread> #include <condition_variable> std::mutex mtx; std::condition_variable cv; int ready = 0; static int point_num = 1; void PrintString_1() { std::unique_lock<std::mutex> lk(mtx); int cnt = 0; while(cnt<10) { while(ready != 0) cv.wait(lk); std::cout<<"1"; ready = 1; cnt++; cv.notify_all(); } } void PrintString_2() { std::unique_lock<std::mutex> lk(mtx); int cnt = 0; while(cnt<10) { while(ready != 1) cv.wait(lk); std::cout<<"2"; ready = 2; cnt++; cv.notify_all(); } } void PrintString_3() { std::unique_lock<std::mutex> lk(mtx); int cnt = 0; while(cnt<10) { while(ready != 2) cv.wait(lk); std::cout<<"1"; for(int i=0;i<point_num;i++) { std::cout<<"."; } ready = 0; cnt++; point_num++; cv.notify_all(); } } int main() { std::thread t1(PrintString_1); std::thread t2(PrintString_2); std::thread t3(PrintString_3); t1.join(); t2.join(); t3.join(); std::cout<<std::endl; return 0; }
编译:g++ -o thread thread.cpp -lpthread -std=c++11,运行结果跟图片中类似
总结
这类题也比较常见,主要考擦对线程同步的条件变量和互斥量这种架构的理解;其实,线程池也是用的这种架构。
电话面试
笔试源码发给了面试官,大约10分钟之后才开始电话面试,以为笔试就凉了,这么长时间都没回复,电话面试长达62分钟,问了超级多...,各种方便都问了
C++基础知识
1、面试题用到C++11的特性,说下c++11的特性吧?
2、提到了数量不定的模板参数,说说怎么实现的?
3、说下左值和右值
4、说下构造函数
5、问了const和static
6、有哪些智能指针?怎么实现的?
7、类型转换有哪些?
...
还有很多就不一一列举了
进程和线程
1、mmap是啥?
2、IPC有哪些?
3、线程同步?
...
网络编程
1、说下TCP的三次握手和四次挥手
2、怎么查看某个端口被监听了(PS:不知道脑袋抽筋了说用PS,面试嗯?,马上发现不对,是netstat)
3、TIME_WAIT状态?大量TIME_WAIT的原因?
4、怎么实现一个长连接的TCP服务器?
5、GET和POST的区别?
5、curl访问一个http服务器,都经过了什么?
6、select和epoll的区别
7、epoll的触发模式
...
Redis
1、说下常见的数据类型
2、说下哨兵模式
3、分布式锁
...
Kafka
1、怎么进行分区的?
...
Mysql
1、delete、drop、truncate的区别?
...
总结
经过了长达62分钟的电话面试,还是凉凉了,怎么知道凉凉?因为最后结束的时候,面试官没有说:接下来的流程,下一轮面试或者通知HR。就知道凉了,如果通过了,流程就会往下走,什么回去等结果?99%都是没戏。举个例子,去相亲,看中对方了,你会说:你回去等通知吧?我考虑下我们合不合适? 相中的话,恨不得裤子都脱了,还等个屁!!!
凉凉的主要两点原因:1、基础关键点没回答上来 2、有些回答的不全面,面试官总是想听到更多答案
-------------------------------------------
个性签名:独学而无友,则孤陋而寡闻。做一个灵魂有趣的人!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!
万水千山总是情,打赏一分行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主,哈哈哈(っ•̀ω•́)っ✎⁾⁾!