zoukankan      html  css  js  c++  java
  • 疫情下,我选择了离职... ; 工作三年老程序员,谈谈职业规划

      疫情之下,确实行情不好,相比去年招聘信息少了很多,因为去年这个时候我也在跳槽。建议:不是非要离职的话,以稳为主,不要瞎跳!!!有钱任性的话,随意了

      疫情离职

      疫情之下的面试益处

       疫情之下带来的跳槽好处,就是面试带来了方便,之前面试你必须要去公司,你说可以电话面试么?HR一定会说:不可以!!!现在不一样了,如果你说:可以去公司面试么?HR一定会说:你隔离满14天了么?...。所以为骑驴找马带来了方便,电话或视频面试,可以拿offer了...

      原因

      看到这个标题,你们一定很好奇为啥离职?原因主要有以下几点:

    1. 太辛苦,每天都要半夜1/2点下班,一周6天
    2. 呆着不舒服

      原因涉及到关键词就是"健康",熬夜加班会直接影响身体健康!!!呆着不舒服会影响心理健康,其实很多人并不重视心理健康,不是我瞎白活的,钟南山院士,也说过:人的身体健康,一般源于心理健康。

      职业规划

      无论毕业、还是跳槽找工作时,一般都会问到职业规划。

      毕业时,没有规划、也不知道职业规划,很盲目,不知道自己能做什么,能找到一份工作就可以了。

      工作之后,渐渐有了目标,知道我要做什么,我能做什么...。

      先说说我的职业规划吧:一直会做linux C/C++开发, 毕业五年之内,会去尝试不同的行业和技术方向,去学习、沉淀一些东西,五年之后,争取进入大厂,稳定下来。

      行业很重要(传统和互联网)

      之前的文章也有透露过,是从传统IT行业跳到互联网的,列出简单的几点区别:

    1. 工资,也是最受关注的一点,几乎是double
    2. 福利待遇 下午有水果,晚上加班有零食,有专门的健身房,打车报销,各种活动(周年、旅游、年会...)
    3. 五险一金交的比例,其实很多人不重视这个,也不管公司是怎么给你交的,其实这是有很大区别的。举个简单的例子,之前是最低比例交的,之后是全额交的,后面两个月交的公积金的钱,就抵上之前2年的交的钱了,这笔钱可以取出来的,一年就好几万!!!

      这么好,有什么缺点,当然有,加班多到你怀疑人生!!!

      跳到互联网需要准备什么

      看到前面写的那么多好处,是不是心动了?简单说下跳到互联网需要准备的:

    1. 首先,技术一定要达标,传统行业和互联网的技术,用天壤之别来形容,一点也不为过!不要觉得,在传统行业呆两年,只会做些简单业务,只会抱怨公司这不好那不好,也不想想自己能为公司做啥,简单业务都做不好,业余时间也不学习,就想跳槽到互联网,我只能说:别做梦了!!!再跳到互联网之前,没人知道我付出了多少?
    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;
    }
    View Code

      编译: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、有些回答的不全面,面试官总是想听到更多答案

      

      

  • 相关阅读:
    leetcode 309. Best Time to Buy and Sell Stock with Cooldown
    leetcode 714. Best Time to Buy and Sell Stock with Transaction Fee
    leetcode 32. Longest Valid Parentheses
    leetcode 224. Basic Calculator
    leetcode 540. Single Element in a Sorted Array
    leetcode 109. Convert Sorted List to Binary Search Tree
    leetcode 3. Longest Substring Without Repeating Characters
    leetcode 84. Largest Rectangle in Histogram
    leetcode 338. Counting Bits
    git教程之回到过去,版本对比
  • 原文地址:https://www.cnblogs.com/liudw-0215/p/12726807.html
Copyright © 2011-2022 走看看