Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

これはAIが翻訳した投稿です。

투잡뛰는 개발 노동자

[非専攻、開発者として生き残る] 14. 新卒開発者がよく聞かれる技術面接内容まとめ

言語を選択

  • 日本語
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar

durumis AIが要約した文章

  • 新卒開発者の面接でよく聞かれる技術関連の質問をまとめ、メモリ領域、データ構造、データベース、プログラミング、ページ置換アルゴリズム、 プロセスとスレッド、OSI 7層、TCPとUDPなど、様々なテーマについての説明を提供します。
  • 各テーマについて、簡潔な概念の説明とともに、代表的な例を挙げて理解を深めます。
  • 開発者が面接準備をする際に必要な基本的な技術知識を習得するのに役立つ、有益な情報を提供しています。

非専攻、開発者として生き残る


#14. 新規開発者がよく聞く技術面接の内容


[メインメモリの領域]

  • コード領域: プログラムのソースコードが保存される領域で、CPUはコード領域に保存された命令(ソース、関数、制御文)を 取得して処理します。例えば、C言語で書かれたプログラムが実行されると、コード領域にはこのプログラムのソースコードが保存されます。
  • データ領域: グローバル変数と静的変数が保存される領域で、プログラム開始とともに割り当てられ、プログラムが終了するまで 消滅しません。例えば、C言語で書かれたプログラムが実行されると、データ領域にはこのプログラムで宣言されたグローバル変数や 静的変数が保存されます。
  • スタック領域: プログラムが使用する一時的なメモリ領域で、関数の呼び出しに関連するローカル変数とパラメータが保存されます。関数の 呼び出しとともに割り当てられ、関数が終了すると消滅します。例えば、C言語で書かれた関数を呼び出すと、その関数で使用される ローカル変数やパラメータがスタック領域に割り当てられます。
  • ヒープ領域: ユーザーがメモリ空間を動的に割り当てたり解放したりする領域です。例えば、C言語でmalloc()関数を 使用してメモリを動的に割り当てる場合、割り当てられたメモリ領域はヒープ領域に保存されます。

[データ構造]

  • スタック: 後入れ先出し(LIFO)方式のデータ構造です。例えば、コンピューターの「戻る」ボタンはスタックに似ています。以前に 訪問したページがスタックに保存され、「戻る」ボタンを押すと、最後に保存されたページが取り出されて表示されます。
  • キュー: 先入れ先出し(FIFO)方式のデータ構造です。例えば、銀行で順番待ち番号を受け取って列に並ぶことはキューに似ています。 最初に到着した人が最初に処理され、最後に来た人が最後に処理されるのと同じです。
  • ツリー: データを階層構造で表現するデータ構造です。例えば、HTMLのDOMツリーはツリーに似ています。HTML ページの構造はツリーで表現され、ルートノードであるhtmlタグから始まり、子ノードが順番に表現されます。
  • ヒープ: 二分木構造の一種で、最大ヒープと最小ヒープに分けられます。例えば、優先順位キューで、最も高い優先順位を持つ データがヒープのルートノードに配置され、次に高い優先順位を持つデータが子ノードに配置されることが最大ヒープの 例です。

[RDBMSとNoSQL]

  • RDBMS: 厳格なスキーマでデータを構造的に定義して管理するデータベースです。データを分散して保存することができ、 修正が容易です。例えば、MySQL、Oracle、MS-SQLなどがRDBMSの代表的な例です。
  • NoSQL: 柔軟なスキーマでデータを保存して管理するデータベースです。大容量データの処理と保存に適しており、 拡張性も高いです。例えば、MongoDB、Cassandra、HBaseなどがNoSQLの代表的な例です。

[手続き型とオブジェクト指向]

  • 手続き型プログラミング: 順次処理が重視されるプログラミング技法です。C、Pascalなどの言語が手続き型の 言語です。
  • オブジェクト指向プログラミング: オブジェクト(Object)という概念をベースに、データと手続きを論理的にまとめ処理する方法です。 Java、C++、Pythonなどの言語がオブジェクト指向言語です。例えば、自動車シミュレーションプログラムで自動車を オブジェクトとして表現し、自動車が持つ属性(色、加速度など)をデータとして、自動車が実行する機能(走行、停止など)を メソッドとして表現します。

[オーバーライドとオーバーロード]

  • オーバーライド: 親クラスが持っているメソッドを子クラスで再定義して使用するものです。子クラスで 親クラスのメソッドを呼び出すと、親クラスのメソッドよりも子クラスで再定義されたメソッドが実行されます。例えば、 JavaのtoString()メソッドはオーバーライドの例です。
  • オーバーロード: 同じ名前のメソッドを複数定義しますが、パラメータの型と個数を異ならせることで、さまざまなタイプの呼び出しに 対応します。パラメータが異なっても同じ名前を持つ複数のメソッドが動作します。例えば、Javaのprint()メソッドはオーバーロードの例です。

[ページ置換アルゴリズム]

  • FIFO: 物理メモリにロードされた最も古いページを置き換えます。コンピューターで発生する「タスクバーの閉じる」もFIFO アルゴリズムに似ています。最初に実行したプログラムが最後に表示されて閉じられるのと同じです。
  • LRU: 最も長く使用されていないページを置き換えます。頻繁に使用されないアプリの中で古いアプリを終了させる「アプリ終了 アプリ」もLRUアルゴリズムに似ています。
  • LFU: 最も少ない参照回数を持ち、ページを置換します。例えば、ブラウザで新しく開かれたタブの中で、使用頻度が最も少ない タブを閉じる「タブの閉じる」機能もLFUアルゴリズムに似ています。
  • MFU: 最も多くの参照回数を持ち、ページを置換します。MFUアルゴリズムは、あまり使用されません。

[プロセスとスレッド]

  • プロセス: オペレーティングシステムから割り当てられた実行作業単位で、プログラムを意味します。複数のプロセスが同時に実行されると、 各プロセスは独立したメモリ領域とCPUを割り当てられます。
  • スレッド: プロセス内で動作する実行単位で、プロセスが割り当てられたリソースを共有しながら実行されます。例えば、Web ブラウザでは、各タブはプロセスではなくスレッドとして動作します。

[OSI 7層]

  • アプリケーション層: ユーザーとネットワークを接続する層で、HTTP、FTP、SMTPなどのプロトコルが 含まれます。
  • プレゼンテーション層: データの表現方法を定義する層で、JPEG、MPEG、SSLなどのプロトコルが 含まれます。
  • セッション層: 通信する2つのシステム間でセッションを管理する層です。
  • トランスポート層: データ転送を担当する層で、TCP、UDPなどのプロトコルが含まれます。
  • ネットワーク層: データ転送のための経路を設定する層で、IP、ICMPなどのプロトコルが含まれます。
  • データリンク層: 物理アドレス(MACアドレス)でデータを転送する層で、Ethernet、Token Ringなどのプロトコルが含まれます。
  • 物理層: 物理的な接続と伝送媒体に関する通信を担当する層です。

[TCPとUDP]

  • TCP: 接続型サービスで、信頼性のあるデータ転送方法です。3-wayハンドシェイクと4-way ハンドシェイク方式で接続の確立または解除を行います。例えば、Webサイトにログインしたり、ファイルを転送したりする際に、 TCP方式を使用します。
  • UDP: 非接続型サービスで、データ転送のための信号手順を行わず、データの信頼性は低いですが、処理速度が速いという 特徴があります。例えば、動画ストリーミングやオンラインゲームなど、高速な転送が重要な場合は、UDP方式を使用します。
TheCareer
투잡뛰는 개발 노동자
코딩, 취업, 이직, 경제에 관심 많은 IT 노동자
TheCareer
[非専攻、開発者として生き残る] 13. 新卒開発者技術面接 新卒開発者技術面接でよく出る質問7つと面接準備のヒントを紹介します。OOP、データベース、ネットワーク、アルゴリズムなど、さまざまな分野に 関する質問と回答戦略を見てみましょう。チームプロジェクト経験や興味のある技術に関する質問にも備え、自信に満ちた面接の準備をしましょう。

2024年4月1日

[python]Python 基礎1 Python モジュールについて Python モジュールは、変数、関数、クラスなどをまとめたファイルで、他の人が作ったモジュールを使用したり、共通的に使用される変数、関数などをまとめて使用する場合に便利です。`import` キーワードを使用してモジュールを呼び出して使用することができますし、直接モジュールを作成して使用することもできます。

2024年3月27日

[SI 開発者物語] 12. SI プロジェクトでよく使われるテクノロジースタック 韓国の SI 開発者は、Java ベースの Spring、Oracle DB、Mybatis、JSP、JavaScript、HTML、CSS などのテクノロジースタックを主に使用して、効率的で安定した IT システムを開発しており、開発環境として Eclipse を使用しています。これらの技術は、中小企業の コスト削減と生産性向上に貢献します。

2024年4月19日

[Concurrency] Atomic Operation: メモリフェンスとメモリオーダリング このブログ投稿では、アトミック演算でのメモリの順序付けを考慮する方法と、Orderingオプションの重要性を説明します。Relaxed、 Acquire、Release、AcqRel、SecCstなど、さまざまなOrderingオプションの詳細と、各オプションの長所と短所、および使用 時の注意点について、例コードと共に詳しく説明します。
곽경직
곽경직
곽경직
곽경직
곽경직

2024年4月12日

[オブジェクト] 第1章. オブジェクト、設計 ソフトウェア開発では、実践は理論よりも重要であり、優れた設計はコードの理解を容易にし、変更に柔軟に対応できるようにします。オブジェクト 指向設計は、協力するオブジェクト間の依存関係を適切に管理する方法を提供し、これによりコードの保守性と拡張性を向上させることができます。
제이온
제이온
제이온
제이온

2024年4月28日

[Javascript] オブジェクトの構造 (V8) JavaScriptのObjectは、V8エンジンでは、状態に応じて、構造体のように最適化されたFastモードと、ハッシュマップとして動作するDictionary モードに変換されます。Fastモードは、キーと値がほとんど固定された形式で高速ですが、新しいキーが追加されたり、要素を削除したりするなどの操作が行われた場合、 Dictionaryモードに切り替わり、速度が遅くなる可能性があります。
곽경직
곽경직
곽경직
곽경직
곽경직

2024年3月18日

[Java] 同期化コレクション vs 並列コレクション Java でマルチスレッド環境でコレクションを使用する際に、同期化問題を解決するためのさまざまな方法とその長所と短所を比較分析しました。 Vector、 Hashtable、Collections.synchronizedXXX などの同期化されたコレクションと、CopyOnWriteArrayList、 ConcurrentHashMap、ConcurrentLinkedQueue などの並列コレクションの特徴、性能の違い、および各コレクションの適切な 使用シナリオを紹介します。
제이온
제이온
제이온
제이온

2024年4月25日

[Effective Java] アイテム6. 不要なオブジェクト生成を避ける Javaで不要なオブジェクト生成を減らす方法に関するガイドです。String、Booleanなどの不変オブジェクトはリテラルを使用し、正規 表現はPatternインスタンスをキャッシュするのが最適です。また、オートボクシングはパフォーマンスの低下を引き起こす可能性があるため、基本型を使用するのが 最適です。 詳細は「Effective Java」を参照してください。
제이온
제이온
제이온
제이온

2024年4月28日

[オブジェクト] 第2章 オブジェクト指向プログラミング 映画予約システムの実装のためのオブジェクト指向プログラミング手法を説明する文書であり、 協力、オブジェクト、クラス、継承、多態性、抽象化、合成などの概念を扱っています。 カプセル化、インターフェース、実装隠蔽を通じてオブジェクトの自律性を確保し、コードの再利用性と柔軟性を高める方法を 示します。
제이온
제이온
제이온
제이온

2024年4月28日