分享|【书单推荐】一次找全!技术 & 产品 & 运维 & 设计 & 提升
2072
2023.11.30
2023.12.01
发布于 未知归属地

助力求职

更新:https://leetcode.cn/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/solutions/2548374/shu-dan-tui-jian-yi-ci-zhao-quan-ji-zhu-ebgtg/

阅读不过是给大脑提供知识材料,只有经过思考,这些知识才有可能变为自己的思想。——洛克

技术 Dev Coder

image.png

技术岗位
类型序号名称
推荐书籍[0]《编程原则( understanding software)》
[1]《架构整洁之道》
[2]《重构:改善既有代码的设计》
[3]《编写可读代码的艺术》
[4]《代码大全》
[5]《程序员修炼之道:通向务实的最高境界》
[6]《Software Engineering at Google》
[7]《SRE:Google运维解密》
[8]《google软件测试之道》
[9]《unix编程艺术》
[2-4] 都是细节丰富,可以选择一本读完,然后再读后面推荐的。
其他资料[0]state of devops 2019
[1]“从群众来,到群众中去”
[2]实践论
[3]Google Golang Code Review Comments

产品 Product Manager

image.png

产品岗位
类型推荐书单类型推荐书单
业务经验创业维艰技术理解给产品经理讲技术
创新者的窘境用户体验用户画像
启示录设计心理学
奈飞文化手册从零开始学设计
HBO的内容战略用户体验度量
俞军产品方法论设计方法与策略
点石成金用户体验草图设计
上瘾交互系统新概念设计
原则用户体验要素
重来About Face 4:交互设计精髓
刷新简约至上
小群效应数据分析数据分析思维:分析方法和业务知识
订阅:数字时代的变现路径精益数据分析
思维方式六顶思考帽SQL必知必会
人类社会叙事经济学A-B测试:创新始于试验
乌合之众硅谷增长黑客实战笔记
社交天性
自私的基因
动机与人格
发现社会
人类简史
裸猿

Data

image.png

设计 Design

image.png

自我提升 Improve

image.png

其他书单
书名作者推荐语
统计学习方法李航李航老师的《统计学习方法》相当基础且重要!
发现社会StephenCurri虽然是个内容运营,在产品书单里惊奇发现自己专业入门书《发现社会》
没想到社会学的书成了产品书单,顿时觉得自己的专业不愧涉猎广泛万金油😆
书中梳理了社会学经典大家的经典理论,充满了哲学、政治学、社会学的探讨。
许多理论看似出现在几百年前,但同样适用于百年后的今天,依然充满借鉴之处。
相信本书对社会的洞察也能为产品形态的设计带来启发。
安卓进阶解密三本书从0基础到高级进阶涵盖了安卓开发的绝大多数知识点,作为安卓开发工程师,这三本书是必修课
安卓第一行代码安卓进阶之光,导师推荐的,真的是安卓0基础入门,小白之光
乌合之众古斯塔夫·勒庞它更像是一本教科书,学了并能应用对未来的人际交往和面对群众时会有很大帮助。但如果不是对心理学感兴趣,它真的很难读下去。
从日常生活角度,如果你问我读了之后有何收获,我可能还真要好好想想,然后告诉你有收获,但具体是什么我好像又说不上来,但面对大众的观点时,我会三思而后行,尽量避免人云亦云。
从产品角度,这本书分析了“群体的感情和道德观”,“群体的观念、推理与想象力”,“群体的意见”,“群体领袖”等,深入透视了社会服从和过度服从、趣味单一、群众的反叛、大众文化、受别人支配的自我、群众户外、人的自我异化、官僚化过程、以及无意识在社会行为中的作用。  在这本书中,个人和群体的思维关系被放大研究。在勒庞看来,群体的产品不管性质如何,与孤立的个人的产品相比,总是品质低劣的。在现在这个信息高速发达的时代,我们应警惕自身,认识自己,保持自己的人格,做一个清醒的自由人,尤其是在群体更要凸显。在不危及社会利益的情况下,平衡自己与群体的关系。

留言、收藏、点赞送PDF

/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    vector<int> reverseBookList(ListNode* head) {
        recur(head);
        return res;
    }
private:
    vector<int> res;
    void recur(ListNode* cur) {
        if (cur == nullptr) return ;        // 终止条件
        recur(cur->next); // 递归后继节点
        res.push_back(cur->val);
    }
};

作者:PVQ
链接:https://leetcode.cn/circle/discuss/U63Kqs/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论 (21)