ホームページ バックエンド開発 PHPチュートリアル 感染症流行中の中高年層の PHP 面接の要点を記録する

感染症流行中の中高年層の PHP 面接の要点を記録する

Aug 09, 2021 am 09:35 AM
php

疫病の影響で、ビデオ面接となっています。A 側の顔ぶれは、人事責任者 1 名とプロダクト マネージャー 1 名です。この面接の直接の責任者はテクニカル ディレクター A です。他の 2 人は別の部門の責任者であるようです (B C) 同じポジションにいます (まあ、全員 35 歳です)。

早速、本題に入りましょう。 (コロンで区切りたい人もいますが、キーボードのコロンキーとタブが壊れているようです)

冒頭、hrから面接に携わったメンバーや役職の紹介があり、その後にこんなことを聞​​かれました。プロダクト マネージャーは、Ben の退職理由と彼が知りたい問題について説明してくださいと尋ねました。

そして、本当のドラマが始まります。

ディレクター A: あなたは MySQL に精通しているようですが、MySQL の分離レベルについて教えてください。 。

私: MySQL トランザクションの分離レベルは最初から最高まで、コミットされていない読み取り、コミットされた読み取り、反復可能な読み取り、シリアル化されています。MySQL のデフォルトの分離レベルは反復可能な読み取りであり、トランザクションの同時実行により問題がダーティになる可能性があります。読み取り、繰り返し不可読み取り、ファントム読み取りに分けて、それぞれの動作とその原因となる解決策を説明します。

ディレクター A: 実際のシナリオで分離レベルを変更するための戦略は何ですか。

私: .... (ここでの省略記号は、私がナンセンスをでっち上げていることを意味します。実際、私は数千万のトラフィック データしか処理したことがないため、少し混乱していましたが、そうではありません)同時実行性が高いため、isolation. セクターの変更を必要としない、または思考の深さが十分ではありません)

ディレクター A: innodb のインデックスは何ですか、また、それらはどのように実装されていますか。

私: 主キーは一意の共通結合インデックスであり、B ツリー、B ツリー、ハッシュで実装できます。

ディレクター A: これらの実装の違いは何ですか?インデックスを設計するときに、それらを選択するためにどのような戦略を使用しますか?

私: B-treeとB-treeでは葉ノードのデータと木の深さが異なり、同じ検索を行う場合、B-treeの方がIOが1回多く必要になります。実際のビジネス シナリオに応じて、インデックス アルゴリズムを選択します。読み取りが多く、書き込みが少ない場合は、B ツリーを選択します (実際には忘れたのでわかりません)

ディレクター A: 分類と機能MySQL ロックの場合は、実際の作業でシナリオを使用します。

私:(これまでのインタビューが浅いところから深いところまであったので、この時は少し緊張していました)...それで自分の理解を簡単に述べましたが、実は満足のいく答えではありませんでした。 B と C は他の質問も挿入するためです。

ディレクター B: 分散についてご存知ですか? 分散ロックの実装方法は? etcd について学んだことがありますか?

私: これを実装するには、redis の setnx と有効期限を組み合わせて使用​​できます。なぜなら、私はこれを以前にビジネスで etcd で実装したことがありますが、これを理解したことがなかったからです (私のビジネスにはこの概念がありません)。また、(中断)

ディレクター C: 時間が限られていますので、他の質問を続けましょう。PHP の最適化を行ったかどうかと、opcahche の使用方法を見てみましょう。

私: (しばらく考えて)、オペコードの解析と最適化。

ディレクター C: オペコードはどこですか

私: これについては何の印象もありません (私はこれはまったく印象にありません) なぜなら、以前のビジネスシナリオに基づいて、フロントエンド、CDN、サーバーリバースプロキシ、データベースキャッシュ、プログラムロジックコードの最適化に至るまでプロジェクトの質的な改善を行ってきましたが、それはそれだけですopchache と opcode については触れていません。間違い)

ディレクター C: URL のプロセスを簡単に説明します。要点だけに注目してください。

私のブラウザは URL を入力して解析します。それを IP に変換し、Web サーバーにリクエストを送信します。nginx の場合は、CGI を通じて PHP-FPM に送信され、PHP スクリプトが解析、ロジックを処理し、データに応答するのを待ちます。

ディレクター C: cgi とは何ですか?何に使用されますか?

私: cgi はプロトコルであり、PHP などの言語が Web サーバーと通信するためのプロトコルです。

ディレクター B: PHP-FPM のアーキテクチャ モデルは何ですか?また、それをどのように最適化しましたか?

私: マスター(メイン)-ワーカー(ワーカープロセス)のアーキテクチャモデルです 実際にリクエストを処理するワークプロセスです マスターは主に子プロセスの管理と再利用を行います 最適化すると変更されますプロセス数の構成について簡単に説明します: 以前に構成された静的モードにより、デフォルトのプロセス数は 200 でした。後で、ある程度の同時実行性があった場合、「3 番目」の構成モードに変更する必要があります。プロセス数には最小値と最大値があり(実際には最大値はここでは忘れていますが、制限はないと思うだけです。結局のところ、ハードウェアリソースが上限です)、動的に増加します。実際のリクエスト数に基づくプロセス数。

ディレクター B: 他に最適化はありますか?

私: (しばらく黙っていました。実際、改訂中に他にも変更を加えましたが、本当に忘れていました。このインタビューは長すぎると感じました。)、その時は他の最適化も行いましたが、それらを思い出せません。

ディレクター B: あなたが使用している Rabbitmq とそれについてのあなたの理解を教えてください。

私: (rabbitmq のアーキテクチャを簡単に説明します) と私の使用シナリオとビジネス。

ディレクター B: あなたが使用しているトピック モードについて教えてください

私: (トピックの使用プロセスについて簡単に説明しました。これはパスとみなされます)。

ディレクター A: Redis シャーディングについて話しましょう。

私: シャーディングは、キーを複数の Redis インスタンスに分割するプロセスであり、複数のコンピューターのメモリと CPU の処理能力を使用して、、、、

ディレクター A : 実装方法ランキング リスト

私: Redis の順序付きセットを使用できます。これにはスコアがあるため、、、

部長A: その関数を使って値を取得してください

私: (思い出してみると本当に思い出せない) これは忘れました、何のメンバー関数ですか。

ディレクターA: AOPについて話しましょう。使ったことはありますか?

私: AOPアスペクトプログラミングとは、動的プロキシやその他のテクノロジーを使用して、機能モジュールの統合メンテナンスを実現することであり、laravelのようなものです。ファサード(わかりませんが、結局のところ、考えたら失敗します)。

部長A: hyperfの特徴について話しましょう

私: swooleというプラグイン型の高性能かつ柔軟性の高いコルーチンフレームワークをベースにしており、依存性注入、aopモードでコンテナ化されています。モード、イベント モード、、、

ディレクター A: コルーチン プールとコルーチンの状態管理について話しましょう

私: (ここでは実際には答えていません。実際、 、考えてみても、部分的にはまだ回答できます。少なくともコルーチンの状態管理については回答できます)

ディレクター A: Go を知っているなら、この質問は非常に簡単です。

ディレクター A: しましょうlaravel について話します

私 : (これが私の長所なので、一つずつ簡単には説明しません)

ディレクター B: Linux とシェル スクリプトについて話しましょう

Me: (Linux と一般的なコマンドと vi の簡単な紹介)、シェルの式と変数の定義と使用法は PHP 言語とは異なります。

ディレクター C: データのバッチ処理にマップ リデュースを使用しているようですが、それについて教えてください。

私はデータの処理に monogo のマップ リデュースを使用しています、、、(中断)

ディレクターC: hadoop のマップ リデュースを使おうと思っていました

ディレクター A: 今後の計画について教えてください

私: …

以上が私の時間です ビデオ インタビュー「100%復旧しました。後からよく考えてみたら、解決策がたくさんあったのですが、なぜこのインタビューの効果にばらつきがあったのでしょうか?リズムです。そう、リズムです。」私のリズムを乱したのは、面接官が「深い」内容を話してきたことです。

関連する推奨事項: 「PHP ビデオ チュートリアル 」「 PHP 面接の質問の概要 (コレクション)

以上が感染症流行中の中高年層の PHP 面接の要点を記録するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? PHPマジックメソッド(__construct、__destruct、__call、__get、__setなど)とは何ですか? Apr 03, 2025 am 12:03 AM

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

See all articles