【无标题】

ARTS挑战记录

第一周 2022.03.21-2022.03.27

第二周 2022.03.28-2022.04.03

第三周 2022.04.04-2022.04.10



ARTS挑战

  • Algorithm。主要是为了编程训练和学习。每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard)。进行编程训练,如果不训练你看再多的算法书,你依然不会做算法题,看完书后,你需要训练。关于做Leetcode的的优势,你可以看一下我在coolshell上的文章 Leetcode 编程训练 - 酷 壳 - CoolShell。
  • Review:主要是为了学习英文,如果你的英文不行,你基本上无缘技术高手。所以,需要你阅读并点评至少一篇英文技术文章,我个人最喜欢去的地方是http://Medium.com(需要梯子)以及各个公司的技术blog,如Netflix的。
  • Tip:主要是为了总结和归纳你在日常工作中所遇到的知识点。学习至少一个技术技巧。你在工作中遇到的问题,踩过的坑,学习的点滴知识。
  • Share:主要是为了建立你的影响力,能够输出价值观。分享一篇有观点和思考的技术文章。`

提示:以下是本篇文章正文内容,下面案例可供参考

Algorithm

2.3. 无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度

题解:滑动窗口;
	//一开始使用java的方法来做的话其实也非常简单,就是效率不高
     public int lengthOfLongestSubstring1(String s) {
        int maxLength = 0;
        char[] chars = s.toCharArray();
        for (int i = 0; i < chars.length; i++) {
           boolean b = true;
            HashSet<Character> set = new HashSet<>();
            for (int j = i; j < chars.length; j++) {

                if (!set.add(chars[j])) {
                    b = false;
                    maxLength = Math.max(j - i, maxLength);
                    break;
                }
            }
            if (!b) {
                maxLength = Math.max(set.size(), maxLength);
            }
        }
        return maxLength;
    }

    //参考答案:滑动窗口的思想,双指针的思想。todo还有进阶的方法,不使用set
    public int lengthOfLongestSubstring(String s) {
        int maxLength = 0;
        char[] chars = s.toCharArray();
        int right = 0;
        HashSet<Character> set = new HashSet<>(s.length());
        for (int i = 0; i < chars.length; i++) {

            for (int j = right; j < chars.length; j++) {
                    right++;
                if (!set.add(chars[j])) {
                    maxLength = Math.max(set.size() - 1, maxLength);
                    set.remove(chars[i]);
                    right--;
                    break;
                }
            }
            maxLength = Math.max(set.size() - 1, maxLength);


        }
        return maxLength;
    }

Review

本周还是来自medium.org的一篇简单文章,The JavaScript framework war is over,作者[David Rodenas, Ph. D.]。

这篇文章简单分析了一下js现在的主流框架的优缺点,最后指出React应该是最后的胜者。
包括jQuery(老,扩展困难)、AngularJS(老,已经不再支持)、Angular(AngularJS的继承者,用来对抗react,学习难度大,版本难以升级,一些承诺没有做到)、VueJS(简单且性能更高,但是1.x,2.x版本存在大问题,并且作者把这个bug推给了JavaScript?文章作者认为这样的人不适合社区)、SvelteJS(本人不太了解)、React(兼容性好,有hooks,jsx是什么?)等,最终宣布react即是版本答案。

Tip

试着去排查证据系统Too many open files的问题,今天下午的似乎和往常的不太一样,今天下午出现Too many open files是在http请求的时候,之前是在引用某个jar包的时候。并且使用网上搜到的那些命令排查的话,单进程最大句柄数65535,各个设置的地方都没有问题,而且出问题的服务使用的句柄数只有1400左右,甚至还没有另一台服务的句柄数高,不太明白为什么会出现这个问题,只能下次继续排查。
排查方向:是否和tomcat设置或者是nginx设置有关?

Share

优秀的后端应该有哪些开发习惯?,写的可能不全对,但是我比较认同。

总结

技术分享还没准备。。。。。。。。。。。

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值