ARTS 挑戰(第三週)

iVerywang發表於2019-04-15

閱讀原文

每週完成一個ARTS: 每週至少做一個 leetcode 的演算法題、閱讀並點評至少一篇英文技術文章、學習至少一個技術技巧、分享一篇有觀點和思考的技術文章。(也就是 Algorithm、Review、Tip、Share 簡稱ARTS)

Algorithm

主要是為了程式設計訓練和學習。每週至少做一個 leetcode 的演算法題(先從Easy開始,然後再Medium,最後才Hard)。進行程式設計訓練,如果不訓練你看再多的演算法書,你依然不會做演算法題,看完書後,你需要訓練。關於做Leetcode的的優勢,你可以看一下我在coolshell上的文章 Leetcode 程式設計訓練 - 酷 殼 - CoolShell。

LeetCode 1. 兩數之和 解題語言 PHP

題:

 給定字串J 代表石頭中寶石的型別,和字串 S代表你擁有的石頭。 S 中每個字元代表了一種你擁有的石頭的型別,你想知道你擁有的石頭中有多少是寶石。

J 中的字母不重複,J 和 S中的所有字元都是字母。字母區分大小寫,因此"a"和"A"是不同型別的石頭。

示例:

輸入: J = "aA", S = "aAAbbbb"
輸出: 3

解:

class Solution {

    /**
     * @param String $J
     * @param String $S
     * @return Integer
     */
    function numJewelsInStones($j, $s) {

        $jArr = str_split($j);
        $sArr = str_split($s);
        $i = 0;
        foreach($sArr as $sItem){
            if(in_array($sItem, $jArr)){
                $i++;
            }
        }
        return $i;

    }
}

排名

執行用時 : 16 ms, 在Jewels and Stones的PHP提交中擊敗了97.44% 的使用者

記憶體消耗 : 14.2 MB, 在Jewels and Stones的PHP提交中擊敗了100.00% 的使用者

Review

主要是為了學習英文,如果你的英文不行,你基本上無緣技術高手。所以,需要你閱讀並點評至少一篇英文技術文章

提問的智慧-How To Ask Questions The Smart Way

Tip

主要是為了總結和歸納你在是常工作中所遇到的知識點。學習至少一個技術技巧。你在工作中遇到的問題,踩過的坑,學習的點滴知識。

  • !empty($arr_input['step']) and $step = $arr_input['step']); 短小精悍,基礎不好可能都看不懂
  • 前端時間準備重新找工作,對高可用有了些新認知。下週總結一篇文章
  • try catch 用好了可以少些一些程式碼
  • 構建商品表時建議多一個編號欄位,之前通過goods_id區分不同商品最大的問題是暴露了資料庫結構。編號有效避免了這個問題。
  • 聊天做事都需要調理,特別是面試時讓你說說以往的專案。關於專案調理:公司->公司人員架構->主營業務->專案背景->團隊->技術棧->收穫。順著專案經驗你也可以聊聊自己的技術成長:
    1. 程式碼規範
    2. 設計模式
    3. 效能優化及穩定性
    4. HTTP/TCP 協議,架構,框架原始碼。
      簡歷中應該突出技術重點,而我卻過於白話。

Share:

主要是為了建立你的影響力,能夠輸出價值觀。分享一篇有觀點和思考的技術文章。

原文地址:
離開 CGI,FastCGI,PHP-FPM 談高可用挺空中樓閣的!

善始善終 嗯!

相關文章