天天加班,大厂程序员如何快速学习成长?

2,299 阅读4分钟

文章首发到公众号:月伴飞鱼,每天分享程序员职场经验+科普AI知识!

大家好呀,我是飞鱼

当我们进入梦寐以求的互联网大厂后,你可能会发现自己的生活节奏变成了下面这样:

早上8点出门,白天忙着对接需求、写代码、测试、开会。

晚上9-10点回家,打开小红书刷两下或B站追个剧,累得倒头就睡。

时间像被掏空了一样,想学习提升,似乎根本无从下手。

这也是大厂的残酷之处,在于节奏快、竞争激烈。

如果你不主动成长,很容易被淹没在无数个加班的夜晚,最后啥也没学到,甚至被淘汰。

但其实,即使忙如陀螺,我们也可以找到方法在工作中学习提升。

学会以问题为导向进行学习:

以问题为导向 关键是:用问题驱动学习,每次学完就能马上解决实际问题,工作质量立竿见影。

定期向领导请教:

在工作中,如果遇到瓶颈,不要等到问题积累太多。

定期主动向领导请教,寻求反馈,不仅能加速成长,也能增强与领导的关系。

拒绝无意义的会议:

高效的职场人士,知道如何拒绝浪费时间的事情。

对于那些没有实质内容、仅仅是为了会议而会议的场合,学会用委婉但坚定的方式避免,节省时间做更重要的事。

学会构建解决问题的SOP:

SOP就像工具箱,用起来效率倍增,还能让你从重复劳动中解放出来。

培养良好的时间管理习惯:

每天早上,先处理最重要、最紧急的工作。

中午避免做琐碎的事情,利用这段时间反思和规划下午的工作。

学习并构建岗位需要的知识体系:

有了知识体系,就像搭建了自己的职场百宝箱,不怕问题多,随时能找到答案。

长期复盘,持续迭代,不断完善:

每次复盘迭代,你的学习效果会越来越好,积累也越来越深厚。

时刻保持学习状态:

每天抽出时间看行业动态、参加内部分享会,甚至做一些在线学习,持续提升自己的能力。

大厂的节奏快,但不是阻碍学习的理由,无论多忙,记得给自己一点时间去思考和总结。

别让你的时间被浪费在一堆无意义的忙碌上, 大厂不缺人,缺的是能主动学习、能干事、会思考的人。

有啥其他看法,欢迎在评论区留言讨论。

想看技术文章的,可以去我的个人网站:hardyfish.top/

  • 目前网站的内容足够应付基础面试(P7)了!

每日一题

题目描述

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的 子集(幂集)。

解集 不能 包含重复的子集。

返回的解集中,子集可以按 任意顺序 排列。

示例 1:

输入:nums = [1,2,2]
输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]

示例 2:

输入:nums = [0]
输出:[[],[0]]

解题思路

首先排序,排序是为了方便去重。

相同的元素在同一层中是不允许使用的。

相同元素在同一路径中是可以使用的。

代码实现

Java代码:

class Solution {
    private List<List<Integer>> ans;
    private List<Integer> path;
    public List<List<Integer>> subsetsWithDup(int[] nums) {
        ans = new ArrayList<>();
        path = new ArrayList<>();
        // 首先排序,让相同的两个元素排到一起去,便于去重
        Arrays.sort(nums);
        int n = nums.length;
        // 使用 visited 数组来记录哪一个元素在当前路径中被使用了
        boolean[] visited = new boolean[n];
        // 开始回溯
        backtrace(nums, 0, visited, n);
        return ans;
    }
    private void backtrace(int[] nums, int start, boolean[] visited, int n) {
        // 首先加入当前路径
        ans.add(new ArrayList<>(path));
        // 从 start 开始遍历每一个元素,尝试加入路径中
        for (int i = start; i < n; ++i) {
            // 如果当前元素和前一个元素相同,而且前一个元素没有被访问,说明前一个相同的元素在当前层已经被用过了
            if (i > 0 && nums[i - 1] == nums[i] && !visited[i - 1]) continue;
            // 记录下来,用过了当前的元素
            visited[i] = true;
            path.add(nums[i]); // 放到路径中
            backtrace(nums, i + 1, visited, n); // 向下一个递归
            visited[i] = false; // 回溯
            path.remove(path.size() - 1);
        }
    }
}

资料分享

DDD实战课

课程链接:time.geekbang.org/column/intr…

资料链接:url81.ctfile.com/f/57345181-…

访问密码:3899

从0开始学大数据

课程链接:time.geekbang.org/column/intr…

资料链接:url81.ctfile.com/f/57345181-…

访问密码:3899

趣谈网络协议

课程链接:time.geekbang.org/column/intr…

资料链接:url81.ctfile.com/f/57345181-…

访问密码:3899