Unsplashのフランク?マッケナによる寫真

私の一部は、インタビューのコーディングが好きではありません。主な理由は、意識的な努力をし、インタビューでコーディングの質問を解決するための準備に時間を費やす必要があるためです。それに加えて、面接中に、誰かが私を評価してくれる合理的な(最適ではないにしても)解決策を考え出す必要があります。これは、ソフトウェアエンジニアとして、日常的に直面する必要がない狀況です。デイライフ。

そうは言っても、私はアルゴリズムとコーディングの問題を解決するのが大好きです。それは私にとって楽しい活動であり、それは私に良い精神運動を與え、そして私はそれに時間を費やすのが大好きです。この投稿では、コーディングインタビューの準備をエキサイティングで楽しいアクティビティにするために、私の學習とこれまでに開発したテクニックのいくつかを共有したいと思います。

私について少し。私のソフトウェアエンジニアリングのキャリアは約20年に及び、その中で私は5回転職しました。120以上のインタビューを含む約30のインタビューループを提供しました。私もテーブルの反対側に座った経験があります。私は300以上のコーディングインタビューと200以上のシステム設計インタビューを受けました。

転職を検討していて、インタビューのコーディングの準備をしている場合は、LeetCodeを確実に知っているはずです。面接の質問をコーディングするためのおそらく最大のオンラインリポジトリであり、他のエンジニアとアルゴリズムについて話し合うための活気のあるコミュニティも含まれています。暇なときはいつでも、LeetCodeに時間を費やしたり、新しいコーディングの質問を解決しようとしたり、人々が開発した他のスマートソリューションから學んだりするのが大好きです。

LeetCodeの最大の課題の1つは、組織が不足していることです。コーディングの問題が非常に多く、どこから始めればよいのか、何に焦點を當てるべきかがわからなくなってしまいます。コーディング面接の準備をする前に、十分な質問をする必要がありますか?面接に自信を持てるように、私を導き、十分なアルゴリズム手法を教えてくれる合理化されたプロセスを見たいと思います。私自身怠惰な人なので、500以上の質問をしたいとは言いません。

人々がよく従うテクニックの1つは、同じデータ構造に関連する質問を解決することです。たとえば、配列、次にLinkedList、HashMap、Heap、Tree、またはTrieなどに関連する質問に焦點を當てます。これはある程度の編成を提供しますが、それでも一貫性に欠けます。たとえば、多くの質問はHashMapsを使用して解決できますが、それでもさまざまなアルゴリズム手法が必要です。同じデータ構造だけでなく、同様のアルゴリズム手法に従う質問セットが欲しいです。私が遭遇した最高のものは、スライディングウィンドウ高速および低速ポインタートポロジカルソートなどの問題解決パターンでした。これらのパターンに従うことで、新しい問題を既知の問題にマッピングする能力を養うことができました。これにより、このコーディング-インタビュー-準備プロセス全體が楽しくなるだけでなく、より整理されたものになりました。

私はこれらのコーディング問題パターンを約25個集めました。これは、誰もがこれらの美しいアルゴリズム手法を學び、コーディングインタビューに真の違いをもたらすのに役立つと信じています。これらのパターンの背後にある考え方は、パターンに慣れると、そのパターンに関する數十の問題を解決できるようになるというものです。これらのパターンとソリューションに関連する問題の詳細については、Grokking the CodingInterviewをご覧ください。

UnsplashのKellySikkemaによる寫真

ですから、これ以上面倒なことはせずに、これらすべてのパターンをリストアップしましょう。

  1. スライドウィンドウ
  2. 2つのポインタ
  3. 高速および低速ポインタ
  4. マージ間隔
  5. 循環ソート
  6. LinkedListのインプレース反転
  7. 木の幅優先探索
  8. 木の深さ優先探索
  9. 2つのヒープ
  10. サブセット
  11. 修正された二分探索
  12. ビット単位のXOR
  13. トップ「K」要素
  14. K-wayマージ
  15. 0/1ナップザック
  16. 無制限のナップザック
  17. フィボナッチ數
  18. 回文部分列
  19. 最長の共通部分文字列
  20. トポロジカルソート
  21. トライトラバーサル
  22. 島の數
  23. 試行錯誤
  24. ユニオンファインド
  25. ユニークなパス

1.スライディングウィンドウ

Usage: This algorithmic technique is used when we need to handle the input data in specific window size.

      
Sliding Window Pattern

Usage: In this technique, we use two pointers to iterate the input data. Generally, both pointers move in the opposite direction at a constant interval.

      
Two Pointers Pattern

Usage: Also known as Hare & Tortoise algorithm. In this technique, we use two pointers that traverse the input data at a different speed.

      
Fast & Slow Pointers Pattern

Usage: This technique is used to deal with overlapping intervals. Given two intervals (‘a’ and ‘b’), there will be six different ways the two intervals can relate to each other:

      
Intervals Overlapping

Usage: Use this technique to solve array problems where the input data lies within a fixed range.

Usage: This technique describes an efficient way to reverse the links between a set of nodes of a LinkedList. Often, the constraint is that we need to do this in-place, i.e., using the existing node objects and without using extra memory.

      

Usage: As the name suggests, this technique is used to solve problems involving traversing trees in a breadth-first search manner.

      
Binary Tree Breadth-First Search

Usage: As the name suggests, this technique is used to solve problems involving traversing trees in depth-first search manner.

Usage: In many problems, where we are given a set of elements such that we can divide them into two parts. We are interested in knowing the smallest element in one part and the biggest element in the other part. As the name suggests, this technique uses a Min-Heap to find the smallest element and a Max-Heap to find the biggest element.

Usage: Use this technique when the problem asks to deal with permutations or combinations of a set of elements.

Usage: Use this technique to search a sorted set of elements efficiently.

Usage: This technique uses the XOR operator to manipulate bits to solve problems.

Usage: This technique is used to find top/smallest/frequently occurring ‘K’ elements among a get set

Usage: This technique helps us solve problems that involve a list of sorted arrays.

Usage: This technique is used to solve optimization problems. Use this technique to select elements that give maximum profit from a given set with a limitation on capacity and that each element can only be picked once.

Usage: Use this technique to select elements that give maximum profit from a given set with a limitation on capacity and that each element can be picked multiple times.

Usage: Use this technique to solve problems that follow the Fibonacci numbers sequence, i.e., every subsequent number is calculated from the last few numbers.

Usage: This technique is used to solve optimization problems related to palindromic sequences or strings.

Usage: Use this technique to find the optimal part of a string/sequence or set of strings/sequences.

Usage: Use this technique to find a linear ordering of elements that have dependencies on each other.

Usage: Use this technique that involves creating or traversing of Trie data structure.

Usage: Use this technique to traverse a two-dimensional array and find a set of connected elements.

Usage: Use this technique to traverse an array to find a required optimal element. The traversal process runs in a trial & error manner.

Usage: Use this technique to solve problems that require maintaining a given set of elements partitioned into multiple non-overlapping subsets.

Usage: Use this technique to find different/optimal ways to traverse a multi-dimensional array

UnsplashのFabLentzによる寫真

好むと好まざるとにかかわらず、LeetCodeタイプの質問は、ほぼすべてのプログラミングインタビューの一部です。したがって、すべてのソフトウェア開発者は、面接の前にそれらを練習する必要があります。彼らが持っている唯一の選択肢は、賢く準備し、根本的な問題パターンに焦點を當てることによって問題解決を學ぶことです。見てくださいコーディングインタビューGrokkingインタビューを符號化するためGrokkingダイナミックプログラミングより多くのこれらのパターンとそのサンプルの問題を見つけるためにを。

コーディングとシステムデザインのインタビューに関するいくつかの興味深いコースについては、DesignGurusを確認してください。

コーディングインタビューの準備のための究極の戦略

提案された投稿

東ヨーロッパの開発者の6つの主な利點

東ヨーロッパの開発者の6つの主な利點

外國企業がロシア、ウクライナ、ベラルーシから開発者を採用しようとしている理由を理解する6年以上、私はシンガポールに本社を置くパートナーと完全に分散したチームでRocketech SoftwareDevelopmentを管理してきました。私たちはIT製品を開発し、2つのサービス形式を開発しています:アウトスタッフと専任チーム。

メタバースにおけるUXの主要な懸念事項

新しい次元には新しい責任が伴います。

メタバースにおけるUXの主要な懸念事項

メタバースは、好むと好まざるとにかかわらず、否定できない技術的ユートピアであることは誰もが知っています。以前のFacebookが思いついた製品を超えて、Metaverseは、HabboHotelからSecondLifeまで、しばらくの間潛んでいるメディアです。彼らは彼らの時代の技術的限界と闘うために色あせたプロジェクトだったので、すべてが陶片追放に運命づけられました。

関連記事

良い橋渡しと今後の道:長期目標とそれをどのように達成するか!

良い橋渡しと今後の道:長期目標とそれをどのように達成するか!

グッドブリッジングチームは、この數週間、プロジェクトが達成しようとしていることについて話し合っています。開発者、マーケティングスペシャリスト、プロジェクトマネージャーと何度も話し合った結果、GoodBridgingを次のレベルに引き上げることを決定しました。

東ヨーロッパの開発者の6つの主な利點

東ヨーロッパの開発者の6つの主な利點

外國企業がロシア、ウクライナ、ベラルーシから開発者を採用しようとしている理由を理解する6年以上、私はシンガポールに本社を置くパートナーと完全に分散したチームでRocketech SoftwareDevelopmentを管理してきました。私たちはIT製品を開発し、2つのサービス形式を開発しています:アウトスタッフと専任チーム。

英國はメーガン?マークルの取りつかれた、虐待的な元です

英國はメーガン?マークルの取りつかれた、虐待的な元です

メーガン?マークルは正直にそして真に英國から移住しました。今日エレンと一緒に座ったとき、彼女はその島について一度も言及しませんでした。

貧しい人々は幸せになるに値しない

彼らが幸せなら、どうして感謝できるのでしょうか。

貧しい人々は幸せになるに値しない

この記事のタイトルを読んだとき、どんな気持ちが頭に浮かびましたか?怒り?イライラしますか?びっくりしましたか?「誰かがこれを書くなんてあえて?!」いいえ、これは貧しい人々の信用を傷つけるために書いたものではなく、まったく逆です。これは、月末にインスタントラーメンを食べなければならない搭乗の子供たちについても書いていません。

MORE COOL STUFF

ジョンハムは結婚したことがありますか、そして彼には子供がいますか?

ジョンハムは結婚したことがありますか、そして彼には子供がいますか?

ジョン?ハムは、結婚や交際について非常にプライベートであり、パパラッチの前にパートナーと一緒に現れることはめったにありません。

デュークブルーデビルズバスケットボールコーチのマイク?シャシェフスキーは結婚していますか?

デュークブルーデビルズバスケットボールコーチのマイク?シャシェフスキーは結婚していますか?

今シーズンの終わりにデュークバスケットボールからマイク?シャシェフスキーが引退することで、彼は妻や家族とより多くの時間を過ごすことができます。

ニコラス?ブラウンは「サクセション」からどれくらい背が高いですか?

ニコラス?ブラウンは「サクセション」からどれくらい背が高いですか?

「サクセション」のファンは、グレッグ、別名ニコラス?ブラウンの異常に高い高さに気づかずにはいられません。彼は本當にキャストメンバーの上にそびえ立っていますか?

2021年のホリデーシーズンに向けた「パイオニアウーマン」リードラモンド感謝祭のおかず

2021年のホリデーシーズンに向けた「パイオニアウーマン」リードラモンド感謝祭のおかず

パイオニアウーマンリードラモンドは、感謝祭の準備をするためにここにいます。ここに彼女の最高のおかずのいくつかがあります。

ミニクロスワードをお試しください

ミニクロスワードをお試しください

毎週更新される私たちのミニクロスワードは、私たちのお気に入りのハウスタッフワークスの読みと頭のいい手がかりを組み合わせています!

どれが最も効果的ですか:洗濯ポッド、粉末または液體洗剤?

どれが最も効果的ですか:洗濯ポッド、粉末または液體洗剤?

適切な洗剤を選ぶことを心配することなく、洗濯をすることは十分に悪いことです。では、どちらが最適ですか?それとも重要ですか?

ケンタッキーの青い人々の実話

ケンタッキーの青い人々の実話

ケンタッキー州の田舎に住むFugatesとCombsの家族は、遺伝的寶くじを失いました。どちらも、結婚するにつれて肌が青く見える、まれな劣性形質を共有していました。これの原因は何でしたか?そして、家族はどうなりましたか?

カリフォルニアコンドルの「バージンバース」は種を救うことができますか?

カリフォルニアコンドルの「バージンバース」は種を救うことができますか?

カリフォルニアコンドルを絶滅から救うためのプログラムで、2羽の父親のいないオスのヒナが飼育されています。そのような「処女」の誕生はどのように可能ですか?

これらのチャートはあなたがあなたのテレビを崖から投げたくなるでしょう

これらのチャートはあなたがあなたのテレビを崖から投げたくなるでしょう

テレビは、執筆スタッフに関して、特に人種に関しては、十分に文書化された多様性の問題を抱えています。しかし、どちらかといえば、誰が実際にエピソードを監督するかということになると、問題はさらに大きくなります。

ココを見る前に座らなければならなかったすべてのゴミ

ココを見る前に座らなければならなかったすべてのゴミ

アナと雪の女王の冒険。畫像:ウォルトディズニースタジオ新しいピクサー映畫が到著すると、通常、魅力的な短編アニメーションが付屬しています。

スーパーマリオオデッセイで本當に、本當に遠くにジャンプする方法

スーパーマリオオデッセイで本當に、本當に遠くにジャンプする方法

マリオとキャッピーのパワーを組み合わせることで、スーパーマリオオデッセイで多くの余分なハングタイムを得ることができます。これは、これらの非常に長いギャップをクリアするのに最適であり、「想定されていない」場所に行くのに最適です。ビデオを見たくない場合は、以下のスライドショーに分けて説明します。

この新しいカフェイン觸媒ジェルを私と同じくらい食べたいですか?

この新しいカフェイン觸媒ジェルを私と同じくらい食べたいですか?

研究者は、材料を作成する化學反応の刺激としてカフェインを使用して、食用ポリマーゲルを作成しました。最後に、科學者たちはあなたが求めていたもの、つまりカフェインで作られた食用ポリマーゲルを正確に屆けました。

CardiBとOffsetのDaughterKultureがInstagramで美しい新しいブレードを披露

CardiBとOffsetのDaughterKultureがInstagramで美しい新しいブレードを披露

Cardi BとOffsetの3歳の娘、Kultureは、Instagramで彼女の新しい編みこみのヘアスタイルを披露しました。

セレーナ?ゴメスがニックスの試合でキスカムのためにカーラ?デルヴィーニュに頬をつつく

セレーナ?ゴメスがニックスの試合でキスカムのためにカーラ?デルヴィーニュに頬をつつく

「彼女はとても楽しくて、とても冒険的だ」とセレーナ?ゴメスは以前、仲間のカーラ?デルヴィーニュについて語った。

マドンナはジムでボトルからジンを飲む:「今日のトレーニング」

マドンナはジムでボトルからジンを飲む:「今日のトレーニング」

歌手は木曜日に彼女のフィットネスルーチンを変更することにしました

ジェイミー?ドーナンはヘンリー?カヴィルにスーパーマンの役割を失い、スーパーヒーローの役割のためにマーベルに近づいたと言います

ジェイミー?ドーナンはヘンリー?カヴィルにスーパーマンの役割を失い、スーパーヒーローの役割のためにマーベルに近づいたと言います

ジェイミー?ドーナンは、スーパーマンの役割についてオーディションを受けたが、ヘンリー?カヴィルに敗れたことを明らかにした。そして彼はMCUへの參加についてマーベルに話しました。

Languages

野花在线观看免费观看大全-野花视频在线观看免费观看8
国足最新出线概率0.08% 北京冬奥火炬宣传片获金花环奖 速度与激情9 得知母亲出事男子在地铁痛哭 国足战澳大利亚大名单:4归化在列 周冠宇成为中国首位F1车手 安娜贝尔 尚气与十环传奇 胡锡进谈中美元首会晤 红色通缉令 尚气与十环传奇 印度首都准备封城 房价上涨城市创七年新低 拐点来了? 24岁救人牺牲消防员获批为烈士 扫黑风暴 我要我们在一起 意大利错失直接晋级世界杯资格 中美元首会谈重点内容 中国共产党第三个历史决议全文发布 灵媒 意大利错失直接晋级世界杯资格 俄方回应卫星碎片危及国际空间站 中美元首是否达成新共识?中方回应 男子写80页PPT拯救爱情却离婚 动保组织向上饶信州区申请信息公开 许家印为恒大注入超70亿续命资金 动保组织向上饶信州区申请信息公开 千与千寻 意大利错失直接晋级世界杯资格 两个女人 浦发银行回应近3亿存款莫名被质押 罗永浩吐槽苹果文案没文化 大连现超级传播者26人在同一传播链 扫黑风暴 安娜贝尔 中美元首会谈重点内容 长津湖 图兰朵 24岁救人牺牲消防员获批为烈士 房价上涨城市创七年新低 拐点来了? 五个扑水的少年 大连一密接者擅自点外卖聚餐被调查 男子写80页PPT拯救爱情却离婚 #耿直真香哥黑化卖惨# 动保组织向上饶信州区申请信息公开 扫黑风暴 失控玩家 扫黑风暴 许家印为恒大注入超70亿续命资金 外交部回应拜登重申不支持台独 加拿大一枝黄花到底是什么? 中国医生 男子体检血中抽出2升油浆 红色通缉令 大连现超级传播者26人在同一传播链 国际人士热议中共十九届六中全会 俄方回应卫星碎片危及国际空间站 怒火·重案 得知母亲出事男子在地铁痛哭 嘉南传 中美元首是否达成新共识?中方回应 浦发银行回应近3亿存款莫名被质押 斗破苍穹 蜘蛛侠:英雄归来 扫黑风暴 林丹世界排名被正式移除 男子体检血中抽出2升油浆 大连现超级传播者26人在同一传播链 扫黑风暴 林丹世界排名被正式移除 国足战澳大利亚大名单:4归化在列
南汇区| 夏河县| 河东区| 华宁县| 和林格尔县| 白朗县| 乐陵市| 岫岩| 峨边| 郎溪县| 中方县| 晴隆县| 刚察县| 平昌县| 长宁县| 田林县| 长乐市| 磐石市| 宁蒗| 从化市| 景洪市| 湾仔区| 甘南县| 措勤县|