当前位置:首页 » 《资源分享》 » 正文

1-开篇-程序员需要解决不确定的问题_琦彦

14 人参与  2021年10月19日 07:23  分类 : 《资源分享》  评论

点击全文阅读


 

 

第一期回顾

历次讨论主题记录: 每次讨论主题的记录

第二期

DIY班: 其一,Deeply Inspire Yourself 深度激发自己

其二,Do It Yourself 实践出真知

以前总是听说阿里某某大佬,听说孤尽老师,也时常琢磨他的开发规范,有些初看不明白,当深入了才知厉害,去年就听说有DIY班,但已经召集结束了,还好后来同学其他朋友间接偷学了点,今年终于能有机会系统和孤尽老师交流,好幸运,所以就想努力试试,我也知道规则时间的苛刻,但我真的就想只是一个肤浅的码农,真的就只能排查简单的问题,都说武林功法万变不离其宗,这个宗,我想去找,想要内化于心,所以,我的目的是学习,是想认识更多优秀的你,所以其他都是次要,谢谢孤尽老师

听说规则后,我也有时候觉得不尽人意,但这么好和大佬接触的机会,有一次就有一次的欢喜。所以,我先去争做班委,努力承担更多责任。其次,想要去归纳总结形成博客,对每次的分享都吃透。

快排

孤尽老师下午测试自己最快几分钟写完快排,并且直接测试通过,3分钟。

孤尽老师添加了注释,算是给大家一个开胃小菜

/**
     * 快速排序
     *
     * @param source 排序的数组
     * @param left   数组分区后的闭区间的最左边的下标
     * @param right  数组分区后的闭区间的最右边的下标
     */
    public static void quickSort(int[] source, int left, int right) {
        // 递归的退出条件。数组下标left必须大于等于right。数组是空数组或只有一个元素,直接返回
        if (source == null || left >= right) {
            return;
        }
​
        // 设置最左边的数组元素为基准值,数组中比pivot小的放在左边,比pivot大的放在右边
        int pivot = source[left];
        // 定义两个指针,分别指向最左边和最右边,都是往中间方向移动
        int pointerLeft = left;
        int pointerRight = right;
        while (pointerLeft < pointerRight) {
            // 如果pointerRight向左移,遇到比pivot大的值
            while (pointerLeft < pointerRight && source[pointerRight] >= pivot) {
                // 右边的指针往左边移动一下
                pointerRight--;
            }
            // 交换一下,不要怕,左边的值就是pivot,下个循环一定能够让指针进一步往右边移动
            swapValue(source, pointerLeft, pointerRight);
​
            // 如果pointerLeft向右移,遇到比pivot小的值
            while (pointerLeft < pointerRight && source[pointerLeft] <= pivot) {
                // 左边的指针往右边移动一下
                pointerLeft++;
            }
            swapValue(source, pointerLeft, pointerRight);
        }
​
        // 参数的left和right作为边界的存在,在这里终于用到了
        quickSort(source, left, pointerLeft - 1);
        quickSort(source, pointerLeft + 1, right);
    }
​
    private static void swapValue(int[] source, int pointerLeft, int pointerRight) {
        // 如果交换的时候,指针已经重合,那么不需要再交换
        if (pointerLeft >= pointerRight) {
            return;
        }
​
        int t = source[pointerLeft];
        source[pointerLeft] = source[pointerRight];
        source[pointerRight] = t;
    }
}

金九银十:给Java开发者的大厂面试心法

金九银十:给Java开发者的大厂面试心法-开课吧

体会最深的

架构是一个能力,不是一个职位

前提:

架构要把

架构先进性转换成技术先进性

技术先进性转换成商业先进性

架构在演变过程中,

  1. 对设计模式的了解

  2. 对架构本身的了解?架构的目的,

  3. 架构的方法论

架构要解决的问题:

  1. 确定你的系统的边界在哪里?

  2. 指导设计演化的原则是什么

  3. 确定非功能性需求

里氏代换原则(Liskov Substitution Principle LSP)面向对象设计的基本原则之一。 里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。

举例:警匪片中“放下武器,立刻投降”, 武器是抽象的,对应匪徒手中具体的手枪,刺刀等

把一个确定性的描述,转换成代码并不难

但是,在整个科技世界中,都是不确定的问题。正是因为我们需要解决不确定的问题,所以才需要利用程序员的智商迭代。


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/30005.html

数组  架构  都是  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 老婆骂我废物,却又求我爱她小说免费试读_「秋芙然姜言铭言铭哥」小说精彩节选推荐
  • 完结文余留空念与微风最后结局列表_完结文余留空念与微风最后结局(傅时砚许初玖)
  • 全文此去经年人未还+后续+番外(沈青禾贺临渊)列表_全文此去经年人未还+后续+番外
  • [冷战两个月后,我选择跳楼回家]最新后续章节在线阅读_柳依依宋青雪儿人物羁绊章节精选
  • 女儿有钱后却转身起诉苦命妈妈全列表_女儿有钱后却转身起诉苦命妈妈全(陈雨晴林淑芬)
  • 带女儿离婚后,偏爱白月光的父子俩后悔了章节限时抢先看‌_凤遥免费试读
  • 女儿有钱后却转身起诉苦命妈妈(陈雨晴林淑芬)全书浏览_女儿有钱后却转身起诉苦命妈妈全书浏览
  • 完结文远山长天青晓+后续+结局列表_完结文远山长天青晓+后续+结局(乔意林景辞秦艺晚)
  • 此去经年人未还全书+后续(沈青禾霍沉洲)列表_此去经年人未还全书+后续(沈青禾霍沉洲)此去经年人未还全书+后续在线
  • 桃花依然笑春风全书+后续+结局(陆乘渊云梵音)列表_桃花依然笑春风(陆乘渊云梵音)桃花依然笑春风全书+后续+结局在线
  • 经年离歌愁未休,顾允廷宋卿落结局+番外完结完本_完本经年离歌愁未休,顾允廷宋卿落结局+番外完结
  • 「当了七年舔狗,发现认错人了」后续已完结_「尤曜江月路妤」小说精彩章节分享

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1