當前位置: 妍妍網 > 碼農

程式設計師瘋狂跳槽漲薪,年薪5萬到年薪58萬~

2024-03-21碼農

最近在網上沖浪的時候,看到一個非常抓人眼球的貼子。是一個程式設計師瘋狂跳槽漲薪,從2015年踏入職場,月薪僅4.5k,到如今年薪狂飆至58萬,嘖嘖。


一開始,他的收入就非常正常,年終總共攢下來5.85萬,是職場新人的普遍狀態。然而,從2016年開始,他直接開始狂飆。


先是跳到了月薪7.5k的新崗位,緊接著在2017年和2018年分別實作了11k和18k的月薪。到了2020年,月薪更是達到了22.5k。而在2024年,再次跳槽,月薪一舉達到了39k,年薪高達到了58.5萬!

看來,那句「 程式設計師漲薪最快的方式就是跳槽 」真不是吹的。這位網友的每一次跳槽,都給他帶來了質的飛躍。四年內跳了四次槽,每一次都能順利找到更好的崗位,確實有些讓人羨慕。

網友們對此也是褒貶不一。有人感嘆那時候行業的寬容,四次跳槽都能順風順水。


也有人調侃說一年一跳,簡歷都要寫不下了。

還有的網友分享了自己跳槽反而降薪的悲慘經歷,歸咎於大環境不好。


那麽,程式設計師究竟應該多久跳一次槽呢?這個問題沒有標準答案,具體看每人的情況。我覺得,3到5年換一次工作可能是最合理的節奏,既能避免止步不前,也能給個人成長留足空間。

下面是今日的大廠演算法題

今日演算法題 ,來自LeetCod e的第28題:找出字串中第一個匹配項的下標,下 面是我的演算法思路及實作,讓我們來看看吧。

# 演算法題目

給定一個字串 haystack 和一個目標子字串 needle,找出 needle 在 haystack 中第一次出現的下標。如果 needle 不是 haystack 的一部份,則返回 -1。

# 演算法思路

盡管不同的程式語言提供了不同的內建函式或方法來處理字串搜尋,基本思路是一致的:

  • 遍歷主字串 haystack。

  • 對於 haystack 中的每個字元,檢查從該位置開始的子字串是否與 needle 匹配。

  • 如果找到匹配項,返回當前的索引。

  • 如果遍歷完成後仍未找到匹配項,返回 -1。

  • # 程式碼實作

    Java實作

    Java 中的 String 類提供了 indexOf 方法:

    public classSolution {publicintstrStr(String haystack, String needle) {return haystack.indexOf(needle); }}

    JavaScript實作

    JavaScript 提供了 indexOf 方法來簡化搜尋:

    functionstrStr(haystack, needle) {return haystack.indexOf(needle);}

    Go實作

    Go 語言的 strings 包提供了 Index 函式來執行搜尋:

    package mainimport ("fmt""strings")funcstrStr(haystack string, needle string)int {return strings.Index(haystack, needle)}funcmain() { fmt.Println(strStr("hello", "ll")) // 輸出: 2}

    # 演算法解析

    透過利用各自語言提供的內建函式或方法,我們可以非常簡便地實作字串中第一個匹配項的搜尋。這些方法通常經過了最佳化,能夠提供較好的效能。不過,在底層,這些實作依然遵循了上述的演算法思路。

    # 範例和測試

    對於輸入 haystack = "hello" 和 needle = "ll",期望的輸出應該是 2,因為 needle 第一次出現在 haystack 的下標 2 位置。


    Java 測試程式碼:

    public classMain {publicstaticvoidmain(String[] args) { Solution solution = new Solution(); System.out.println(solution.strStr("hello", "ll")); // 輸出: 2 }}


    JavaScript 測試程式碼:

    console.log(strStr("hello", "ll")); // 輸出: 2


    Go 測試程式碼:

    funcmain() { fmt.Println(strStr("hello", "ll")) // 輸出: 2}


    # 總結

    找出字串中第一個匹配項的下標是一個常見的編程任務,可以透過利用JavaScript、Java和Go語言中提供的內建函式或方法來簡化實作。

    熱門推薦