面試總結——算法篇

最近去今日頭條面試,面試的是Java崗位,面試一輪下來,着實認識到自己算法基礎和數據結構上的不足,拋開頭條喜歡面試算法題目之外,其他大部分一線互聯網公司也基本都喜歡在一面、二面技術面中添加簡單算法的考驗。其實我也覺得這是一種能力的體現,無論有沒有真的做過算法,但至少應該想一想如何優化基礎設計。
算法的關鍵可能就在於如何更有效、更快速的實現某種功能。之前面試也基本上沒有做過算法相關的複習,幾年業務開發下來,連大學時候數據結構最基礎的排序和遍歷算法都忘得差不多了,即使記得邏輯,手寫代碼的能力也被IDE工具給慣壞了。其實也不是說IDE的壞處,只是有些基礎的能力還是不應該喪失的。
以前只會感嘆人家的想法好精妙,確實好用又高效,自己也要做點改變了。
決定刷一下leetCode,就算不爲了面試,至少也可以讓自己想的更多,想的更靈活。

leetCode是經同學介紹的網站,據說有很大一部分算法面試題都在leetCode的題庫中,甚至是完全一樣,既然想好要學點什麼就要一點點慢慢的啃吧。題目涉及別家網站版權,就不在這裏說什麼了,本來還想每日一刷讓大家幫忙做個監督,估計不太合適了。

爲了更好的自己,加油!

用了三天左右空餘時間,把SQL簡單刷了一遍,歸納一下。
使用到的大部分是left join、inner join、group by、order by、count,偶爾使用了一點limit
大部分操作都是通過關聯子表、where語句條件限定、

SQL型

  1. 第幾大型:如:第二高薪資,子表、limit等操作實現
  2. 查重複型:如:重複郵箱,group by,count()數據,子表關聯查詢
  3. 行間比較型:如:比昨天數據大,inner join + 行間特性(如一天一條、Id遞增等)+ 數據比較
  4. 分組topN型:如:每班前三名、前三成績等,inner join + top、count + where條件分組限定 + order by
  5. 行間交換型:更新操作,IF、CASE、WHEN等條件判斷

算法型

  1. 數組——兩數之和:HashMap便於查找,減小時間複雜度。
  2. 字符串反轉:char遍歷,棧操作。
  3. 迴文字:一分爲2,遍歷一半。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章