ファン兄弟のインタビュー体験談
2. .core ファイルとそれは何に使用されますか? 回答: プログラムがクラッシュすると、プログラマーがプログラムがクラッシュする前の最後のスタック情報を理解しやすくするために、最後のスタック情報がコア ファイルに保存されます。 フォローアップの質問: プログラムがコア化されているのに、コアの問い合わせが生成されない場合、その理由は何ですか?
回答: コア ファイル生成のスイッチがオンになっていません。 ulimit -c unlimit
さらなる質問: プログラムに問題があり、コア ファイルを使用せずにシグナルが生成されるかどうか知っていますか?
答え: 当時は混乱しましたが、今考えてみると、それはカーネルがプロセスにシグナルを送信しているだけでした。答えなかった。
3. 同期を使用せずに共有メモリを安全に読み書きできますか?
回答: この質問は間違った回答で、どういうわけかフォークに関連していました。この質問は機能しないはずです。共有メモリは重要な領域なので同期する必要があります。そうでないと、2 つのプロセスがメモリ領域を同時に操作すると問題が発生します。読み取り/書き込みロックは同期に使用できます。
4. フォーク後、子プロセスは親プロセスから何を保持しますか?
回答: 子プロセスのメモリ領域は親プロセスのコピーであり、オープンファイルディスクリプタ等はもちろん、スタック等も引き継がれます。実際には、実際のユーザー ID、実効ユーザー ID、現在の作業ディレクトリ、ストレージ マッピングなど、他にもたくさんあります。
5. ファイルマッピング以外にメモリを共有する方法はありますか?
答え: 共有メモリ オブジェクト マッピング。
追加の質問: 2 つの違いは何ですか?
答え: わかりません。
6. TCP はどのようにフロー制御を実装しますか?
回答: ピアはウィンドウ サイズを通知します。ローカル エンドによって渡されるデータの量はウィンドウ サイズよりも小さくなります。 (より良い言い方は、ピアにローカル ウィンドウのサイズを伝えることです。ピアによって送信されるデータの量はウィンドウよりも小さくなければなりません)
さらなる質問: ウィンドウ サイズを知る方法は?
答え: ACK メッセージ内。
7. プログラミングの質問 (わかりませんでした、え~)
Q: 非常に長い文字列で表される 10 進数 (2^32 より大きい) を 16 進数の文字列に変換するにはどうすればよいですか?
Ganji.com面接概要
面接チャンネル: Friend@伟Ran 社内推薦技能実習ポジション面接時間: 8月14日午後13時30分
一次面接:
面接方法: 2 to 1 (技術リーダーおよびフロントエンド担当者) プロセスの説明: 質問される内容は、PHP、アルゴリズム データ構造、デザイン パターン、フロントエンド、データベース、Linux など、非常に多岐にわたります。 コンテンツには次のものが含まれる可能性があります: 文字列が null の場合、isset と empty の違い
== と === の違い
PHP のマジック メソッドとその機能
使用されている配列関数とは何ですか? array_merge と in_array の関数 ツリー、リンクされたリスト、ヒープ、スタックなどの一般的なソート アルゴリズムと検索アルゴリズムは何ですか? ご自身で実装したことがありますか、または見ただけですか? クイック ソートの最悪の時間計算量 (nlogn n 二乗)
クイック ソートの原理について簡単に説明します。さらに、時間計算量は無視できません
。時間計算量: 初めて間違った答え
デザイン パターンを手で書いてください (当時はシングルトンを書いていました)
データベースのインデックス (MyIsam と InnoDB) の違いは何ですか?
ジョイント インデックスと主キーについて説明します。 違い (主キーとインデックスの混同、囧...)
データベース テーブルの最適化方法、注意点、テーブル作成の原則、一般的なデータベースフィールドタイプ
SQL インジェクションとは何ですか、効果的に防ぐ方法
どのようなキャッシュ技術が使用されていますか、thinkphp のキャッシュは部分キャッシュですか、それとも完全キャッシュですか
Cookie とセッションの違い
After Cookieを無効にしてもセッションは使用できますか? 解決策は何ですか?
よく使われるLinuxコマンド(当時はファイル操作とvimの両方から回答しました) Apacheと同じ機能を持つngnixを理解していますか?
一般的な Apache 設定と Apache における書き換えの役割についてご存知ですか?
php の開発中にどのコンパイラーを使用しましたか (eclipse、phpstrom、zend、一般的な sublimeText)?
フロントエンド html、css、js、あなたはそれに精通していますか、そしてどのフロントエンドフレームワークを使用しましたか?
最初の面接の後、会社の開発で使用されている技術アーキテクチャ (lnmp) について質問がありますか?と尋ねました。プロセス。それからしばらく待ちました。そのときは、データベース以外の答えは流暢ではありませんでしたが、その他は大丈夫だと感じたので、比較的リラックスしていました。これからどうなるのかと思っている会議室に、突然、オーラのある強者がやって来た。次の面接は少し緊張します...
二次面接: 面接方法: 1対1
プロセスの説明: 私が普段やっているプロジェクトは質問がとても深いと感じます。応用指向すぎて知識が相対的に不足しています 内容はおそらく次のとおりです大学が5年制である理由を説明しました(囧、この質問に答えるたびに、私は非常に古い悲しい過去から始めなければなりません)
通常の学習チャンネル(最初に言いましたが、基本的には本から学びました、後者はすべてプロジェクト駆動であり、その後人々はプロジェクト駆動の欠点について直接話しました...)
インデックスの一番左の接頭辞の原則 (少し馴染みのある、どこかで見たような気がします、
なぜ ThinkPHP を使用する必要があるのですか? thinkPHP を学習しているので、tp のソースコードを読んだことがありますか? in tp (新しいバージョンが更新されたときにしか見ませんでした。詳しくありません。緊張しています…。)
リセットフルとは何ですか(えっと、これは何ですか、本当にわかりません) )
php で fastcgi、cgi とは何か、cgi と fastcgi の違いについて説明してください (よく知りません、残念ながら、しっかりと理解してください)
最初のインタビューでデザイン パターンについて質問したところですが、何が共有されているのかパターン (ああ、デザインパターンが多すぎて緊張して覚えられない)
PHP の名前空間について説明してください
普段開発に使用している PHP のバージョンは何ですか (とてもリラックスできたので、 5.5)
あなたは以前プロダクトマネージャーをしたことがありますか、製品とテクノロジーをどのように理解していますか、テクノロジーまたは製品をやりたいですか(ああ、これはより良いです、エッセイの質問、私の質問を参照してください)
比較的高い負荷に耐えられますか(もちろん、ここには通常の週末があります)
私はいくつかの軽い話題について話しましたが、後になって、この面が意図的に非常に難しいものであることがわかり、私の技術スキルの深さを試したので、本当に恥ずかしかったです。 . 突然、私が知っていることがほとんどないように感じました。最近、レビューの方法と時間の調整が少し乱雑になり、全体の状態がより焦り、緊張していることがいくつかあります。状態なので、戻って埋め合わせます。最後に、インターンシップの給与が XXXX で比較的低かったことを簡単に伝え、問題がなければ人事からの連絡を待つつもりだと言いました。
面接プロセスは合計2時間近く続きました 面接の後、私はしばらく友達と雑談しました。午後 4 時頃に帰宅しましたが、市場に行くのがとても効率的だとは思っていませんでした。帰宅してすぐに、人事担当の女の子が私に電話をかけてきました。面接に合格したのでいつ入社するかを尋ねました。実は私も面接後は面接スキルを高めるために他の場所に行きたいと思っていませんでした。まず同意してください。来週の月曜日と水曜日にいつ仕事を始められるか言われたので、数日間休んでもいいと言いました。次にオファーに応じたのですが、行くか行かないかで迷っていて、今は何もすることがないので、まずはインターンシップをしてから学校採用の準備を進めようと思いました。オンボーディング資料を準備します。
Baidu筆記試験問題Baidu技術職の筆記試験問題は各部門によって設定されているため、毎年筆記試験後にいくつかのセットが発行されます。筆記試験の問題はオンラインで配布されます。
検査領域には主に以下が含まれます: 1. 基本要件
言語 (主に C/C++)、プログラミング原則、オペレーティング システム原則、およびコンピューター ネットワーク。ポインタ演算、バイトアライメント、関数呼び出しスタックフレーム構造、メモリ管理、プロセススケジューリング、7層ネットワークプロトコルモデルなど。通常はクイズ形式で行われます。 2. データ構造とアルゴリズム
検索 (通常は二分探索など)、ソート (通常はクイックソート、外部ソートなど)、ツリー (通常は二分木の前/中/後順走査、トライツリーなど) 。上手な人であれば、「バイナリ ツリーを順に走査するためのアルゴリズムの疑似コードを記述して、その複雑さを分析してください」という質問は比較的簡単です。運が悪いと、「数億の整数値を格納するファイルが与えられた場合、xx の空間計算量または xx 時間の計算量を満たすことを前提として、これらの整数値を処理するアルゴリズムを設計する」といった比較的抽象的な問題になります。対処するのは比較的困難です。したがって、誰もが心の準備をしておく必要があります。この部分は通常、アルゴリズムの擬似コードの作成に関するものです。
3. システム設計の質問
テキストでは実際のビジネス シナリオが説明されており、xxx の機能を迅速かつコスト効率よく実現できるシステムの設計が必要です。
この種の質問は比較的多様です。通常、学校が採用した学生のほとんどは、この種のデザインに関する質問の経験がありません。基本的に、システム、特にコンピューターの構成原理やオペレーティング システムについての自分自身の理解に基づいて、類推を描き、自由に表現し、十分な根拠と論理的に厳密である必要があります。このタイプの質問のテストポイントは通常、標準的な答えではなく、実際の問題を分析する能力です。
筆記試験の準備方法
筆記試験の内容は日常生活で蓄積された知識が多いですが、「試験前の驚き」の重要性も無視できません
1. c/c++
推奨教科書:Cプログラミング言語(作成者が書いた教科書) C言語の内容は短くて簡潔で、タン・ハオ強おじさんの数十通りに勝ります)、C++の入門書、効果的なC++
2. コンピュータシステム
交通大学の教科書がわかりません。シュエおじさんが独学で使用した教科書です。 :
「コンピュータシステムの徹底理解」英語名:Computer.Systems:A Programmer's Perspective
「モダンオペレーティングシステム」英語名:ModernOperatingSystems
3.交通大学がその年に使用した教科書清華大学の厳偉民教授の『データ構造』のC言語版でした
私の叔父もこの本を就職活動前に復習用に使っていました
もちろん、MITの『アルゴリズム入門』や『アルゴリズム入門』を読んでいる優秀な方がいたら。ドナルド E. クヌース著「Art of Computer Programming」を参照していれば、アルゴリズムの知識に大きな問題はないはずです
4. 即興の面接質問
最初の 3 つの項目にリストされている情報を理解するには、ある程度の時間が必要です。今からゼロから始めると明らかに時間が足りない。したがって、Xue おじさんはここで出発点となる情報を提供します。
1) 「プログラミングの美しさ」マイクロソフト技術面接体験記
この本は、インターネット企業でよく使われる数十の典型的なアルゴリズムの質問をまとめたものです。対照的に、プログラマー面接ガイドなどの国内のファストフードは、飛ぶのがたくさんです。 。 。 。
2) csdn ブログ - 構造の方法、アルゴリズムの方法
Google または Baidu で「構造の方法」を検索し、1 番目の検索構造をクリックします。このブログのブロガーはアルゴリズムの達人です。興味のある学生は、面接アルゴリズムの質問に目を通すことをお勧めします。
さらに、このアルゴリズム専門家の新浪微博アカウントは研究者7月であり、現在面接アルゴリズムの質問について講義を行っているので、注目してください。 学校募集準備アリ筆記試験:8月25日
百度筆記試験: 9月27日または10月12日テンセント筆記試験: xxx「ソードポインターオファー」「プログラマー面接ガイド」「ビッグトークデザインパターン」「基礎ゼロから学ぶアルゴリズム」前 5章「プログラミングの美しさ」 csdn ブログ - 構造の法則とアルゴリズムのやり方「PHP 就職ガイド」「C とポインター」「Redis 入門」
著作権声明: この記事はブロガーのオリジナル記事であり、ブロガーの許可なく複製することはできません。
以上、Brother Fan のインタビュー体験をさまざまな側面から紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。
フォローアップの質問: プログラムがコア化されているのに、コアの問い合わせが生成されない場合、その理由は何ですか?
回答: コア ファイル生成のスイッチがオンになっていません。 ulimit -c unlimit
さらなる質問: プログラムに問題があり、コア ファイルを使用せずにシグナルが生成されるかどうか知っていますか?
答え: 当時は混乱しましたが、今考えてみると、それはカーネルがプロセスにシグナルを送信しているだけでした。答えなかった。
3. 同期を使用せずに共有メモリを安全に読み書きできますか?
回答: この質問は間違った回答で、どういうわけかフォークに関連していました。この質問は機能しないはずです。共有メモリは重要な領域なので同期する必要があります。そうでないと、2 つのプロセスがメモリ領域を同時に操作すると問題が発生します。読み取り/書き込みロックは同期に使用できます。
4. フォーク後、子プロセスは親プロセスから何を保持しますか?
回答: 子プロセスのメモリ領域は親プロセスのコピーであり、オープンファイルディスクリプタ等はもちろん、スタック等も引き継がれます。実際には、実際のユーザー ID、実効ユーザー ID、現在の作業ディレクトリ、ストレージ マッピングなど、他にもたくさんあります。
5. ファイルマッピング以外にメモリを共有する方法はありますか?
答え: 共有メモリ オブジェクト マッピング。
追加の質問: 2 つの違いは何ですか?
答え: わかりません。
6. TCP はどのようにフロー制御を実装しますか?
回答: ピアはウィンドウ サイズを通知します。ローカル エンドによって渡されるデータの量はウィンドウ サイズよりも小さくなります。 (より良い言い方は、ピアにローカル ウィンドウのサイズを伝えることです。ピアによって送信されるデータの量はウィンドウよりも小さくなければなりません)
さらなる質問: ウィンドウ サイズを知る方法は?
答え: ACK メッセージ内。
7. プログラミングの質問 (わかりませんでした、え~)
Q: 非常に長い文字列で表される 10 進数 (2^32 より大きい) を 16 進数の文字列に変換するにはどうすればよいですか?
Ganji.com面接概要
面接方法: 2 to 1 (技術リーダーおよびフロントエンド担当者)
最初の面接の後、会社の開発で使用されている技術アーキテクチャ (lnmp) について質問がありますか?と尋ねました。プロセス。それからしばらく待ちました。そのときは、データベース以外の答えは流暢ではありませんでしたが、その他は大丈夫だと感じたので、比較的リラックスしていました。これからどうなるのかと思っている会議室に、突然、オーラのある強者がやって来た。次の面接は少し緊張します...
二次面接:
プロセスの説明:
Baidu技術職の筆記試験問題は各部門によって設定されているため、毎年筆記試験後にいくつかのセットが発行されます。筆記試験の問題はオンラインで配布されます。
検査領域には主に以下が含まれます:1. 基本要件
言語 (主に C/C++)、プログラミング原則、オペレーティング システム原則、およびコンピューター ネットワーク。ポインタ演算、バイトアライメント、関数呼び出しスタックフレーム構造、メモリ管理、プロセススケジューリング、7層ネットワークプロトコルモデルなど。通常はクイズ形式で行われます。 2. データ構造とアルゴリズム
検索 (通常は二分探索など)、ソート (通常はクイックソート、外部ソートなど)、ツリー (通常は二分木の前/中/後順走査、トライツリーなど) 。上手な人であれば、「バイナリ ツリーを順に走査するためのアルゴリズムの疑似コードを記述して、その複雑さを分析してください」という質問は比較的簡単です。運が悪いと、「数億の整数値を格納するファイルが与えられた場合、xx の空間計算量または xx 時間の計算量を満たすことを前提として、これらの整数値を処理するアルゴリズムを設計する」といった比較的抽象的な問題になります。対処するのは比較的困難です。したがって、誰もが心の準備をしておく必要があります。この部分は通常、アルゴリズムの擬似コードの作成に関するものです。
3. システム設計の質問
テキストでは実際のビジネス シナリオが説明されており、xxx の機能を迅速かつコスト効率よく実現できるシステムの設計が必要です。
この種の質問は比較的多様です。通常、学校が採用した学生のほとんどは、この種のデザインに関する質問の経験がありません。基本的に、システム、特にコンピューターの構成原理やオペレーティング システムについての自分自身の理解に基づいて、類推を描き、自由に表現し、十分な根拠と論理的に厳密である必要があります。このタイプの質問のテストポイントは通常、標準的な答えではなく、実際の問題を分析する能力です。
筆記試験の準備方法
筆記試験の内容は日常生活で蓄積された知識が多いですが、「試験前の驚き」の重要性も無視できません
1. c/c++
推奨教科書:Cプログラミング言語(作成者が書いた教科書) C言語の内容は短くて簡潔で、タン・ハオ強おじさんの数十通りに勝ります)、C++の入門書、効果的なC++
2. コンピュータシステム
交通大学の教科書がわかりません。シュエおじさんが独学で使用した教科書です。 :
「コンピュータシステムの徹底理解」英語名:Computer.Systems:A Programmer's Perspective
「モダンオペレーティングシステム」英語名:ModernOperatingSystems
3.交通大学がその年に使用した教科書清華大学の厳偉民教授の『データ構造』のC言語版でした
私の叔父もこの本を就職活動前に復習用に使っていました
もちろん、MITの『アルゴリズム入門』や『アルゴリズム入門』を読んでいる優秀な方がいたら。ドナルド E. クヌース著「Art of Computer Programming」を参照していれば、アルゴリズムの知識に大きな問題はないはずです
4. 即興の面接質問
最初の 3 つの項目にリストされている情報を理解するには、ある程度の時間が必要です。今からゼロから始めると明らかに時間が足りない。したがって、Xue おじさんはここで出発点となる情報を提供します。
1) 「プログラミングの美しさ」マイクロソフト技術面接体験記
この本は、インターネット企業でよく使われる数十の典型的なアルゴリズムの質問をまとめたものです。対照的に、プログラマー面接ガイドなどの国内のファストフードは、飛ぶのがたくさんです。 。 。 。
2) csdn ブログ - 構造の方法、アルゴリズムの方法
Google または Baidu で「構造の方法」を検索し、1 番目の検索構造をクリックします。このブログのブロガーはアルゴリズムの達人です。興味のある学生は、面接アルゴリズムの質問に目を通すことをお勧めします。
さらに、このアルゴリズム専門家の新浪微博アカウントは研究者7月であり、現在面接アルゴリズムの質問について講義を行っているので、注目してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

この記事では、Debianシステムの下でApacheログを分析することにより、Webサイトのパフォーマンスを改善する方法について説明します。 1.ログ分析の基本Apacheログは、IPアドレス、タイムスタンプ、リクエストURL、HTTPメソッド、応答コードなど、すべてのHTTP要求の詳細情報を記録します。 Debian Systemsでは、これらのログは通常、/var/log/apache2/access.logおよび/var/log/apache2/error.logディレクトリにあります。ログ構造を理解することは、効果的な分析の最初のステップです。 2。ログ分析ツールさまざまなツールを使用してApacheログを分析できます。コマンドラインツール:GREP、AWK、SED、およびその他のコマンドラインツール。

開発環境とエコシステムにおけるLaravelとPythonの比較は次のとおりです。1。Laravelの開発環境は簡単で、PHPと作曲家のみが必要です。 Laravelforgeなどの豊富な範囲の拡張パッケージを提供しますが、拡張パッケージのメンテナンスはタイムリーではない場合があります。 2。Pythonの開発環境もシンプルで、PythonとPIPのみが必要です。エコシステムは巨大で複数のフィールドをカバーしていますが、バージョンと依存関係の管理は複雑な場合があります。
