迷茫不知道未来该干啥的疑问帖

工作三年了,开发岗,对未来有点迷茫 程序员这一行真的可以一直干下去吗?

开发岗一直干下去应该比较难,要么就对业务、技术至少精通一样,不然开发岗怕是会有中年危机,或者慢慢转管理岗什么的

我建议考公务员

  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7798731
  • 这篇博客你也可以参考下:码了几年代码的程序员,有一定的开发经验,应该如何提升自己?
  • 除此之外, 这篇博客: 当了几年面试官看了无数简历,你们可以认真写简历吗?中的 简历你得给我吧? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 有一类小伙伴是比较有意思的,微信里跟雷架打个招呼"hi,架架,帮我内推下"!然后距离跟他讲的内推时间都要结束了,也没有发来简历。

    另一类是行动派,但可能行动的比较粗放,要求内推的邮件直接甩给我,BUT,没有附件呐,我有点茫然,不知道拿什么去跟HR谈话!

     

  • 您还可以看一下 张传波老师的软件设计是怎样炼成的?课程中的 详细设计是架构设计的延续小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    作为开发人员,未来职业规划的建议:

    1. 不断学习和掌握新技术,广泛涉猎并深入研究某些技术,同时注重实践,将理论应用于实践中;
    2. 培养良好的沟通能力和团队合作精神,实现技术和业务的良好结合;
    3. 关注整个系统的架构和设计,考虑问题足够细致全面,注重实现效率、运行效率、开发质量、业务灵活性和运行稳定性等多方面因素;
    4. 不断提升自己的综合素质,包括但不限于编码技巧、分析和解决问题的能力、设计能力、架构能力、项目管理能力等;
    5. 具有追求卓越的精神,勇于担当和挑战更高难度的项目和工作;
    6. 综合上述能力和素质,实现从开发人员到架构师的职业发展。

    对于反转素数的问题,可以使用以下代码实现:

    #include <iostream>
    #include <cmath>
    using namespace std;
    
    bool isPrime(int n) { // 判断是否为素数
        if (n < 2) return false;
        for (int i = 2; i <= sqrt(n); i++) {
            if (n % i == 0) return false;
        }
        return true;
    }
    
    int reverse(int n) { // 反转数值
        int res = 0;
        while (n) {
            res = res * 10 + n % 10;
            n /= 10;
        }
        return res;
    }
    
    int countReversePrimes(int m, int n) {
        int count = 0;
        for (int i = m; i <= n; i++) {
            if (isPrime(i) && isPrime(reverse(i))) {
                count++;
            }
        }
        return count;
    }
    
    int main() {
        int m, n;
        cin >> m >> n;
        cout << countReversePrimes(m, n) << endl;
        return 0;
    }
    

    备忘录模式的应用场景,可以通过以下情境来解释:

    假设我们正在编写一个文本编辑器,用户可以在其中输入文本并编辑,同时我们需要提供“撤销”和“重做”功能,即用户可以撤销文本中的某些操作,并在需要时重新执行之前的操作。此时,我们可以使用备忘录模式来实现该功能。

    具体实现思路如下:

    1. 定义备忘录类Memento,保存文本的状态信息;
    2. 定义备忘录管理类CareTaker,用于管理多个备忘录对象,并提供存储和恢复备忘录对象的接口;
    3. 在文本编辑器中,每当用户进行编辑操作时,都将当前文本的状态信息保存为一个备忘录对象,加入备忘录管理类中;
    4. 当用户需要撤销操作时,从备忘录管理类中取出上一次保存的备忘录对象,并将文本的状态信息恢复到该备忘录对象所存储的状态;
    5. 当用户需要重做操作时,同样从备忘录管理类中取出下一次保存的备忘录对象,并将文本的状态信息恢复到该备忘录对象所存储的状态。

    具体代码可以参考以下实现:

    // 备忘录类
    class Memento {
    public:
        Memento(const string& text) : text_(text) {}
        const string& getText() const {
            return text_;
        }
    private:
        string text_;
    };
    
    // 备忘录管理类
    class CareTaker {
    public:
        void addMemento(const Memento& m) {
            mementos_.push(m);
        }
        Memento& getPrevMemento() {
            mementos_.pop();
            return mementos_.top();
        }
        Memento& getNextMemento() {
            mementos_.pop();
            return mementos_.top();
        }
        bool canUndo() const {
            return mementos_.size() > 1;
        }
        bool canRedo() const {
            return !redoMementos_.empty();
        }
    private:
        stack<Memento> mementos_; // 保存备忘录
        stack<Memento> redoMementos_; // 保存重做备忘录
    };
    
    // 文本编辑器类
    class TextEditor {
    public:
        TextEditor(CareTaker& careTaker) : careTaker_(careTaker) {}
        void type(const string& text) {
            text_ += text; // 插入文本
            careTaker_.addMemento(Memento(text_)); // 保存状态
        }
        void undo() {
            if (careTaker_.canUndo()) {
                Memento m = careTaker_.getPrevMemento();
                text_ = m.getText(); // 恢复状态
            }
        }
        void redo() {
            if (careTaker_.canRedo()) {
                Memento m = careTaker_.getNextMemento();
                text_ = m.getText(); // 恢复状态
            }
        }
    private:
        string text_;
        CareTaker& careTaker_;
    };
    

加油吧,我就是大龄程序员,一样在第一线。
visual studio code听说过吧,它的作者是一个老头,写设计模式的那个。程序员真的可以干到老的。