2020年4月のバイトビートバックエンドインタビューの共有経験

ファイル
2020年4月のByteDanceのバックエンドインタビュー体験

第一面

  • Niuke.comを使用してリモートでインタビュー
  • インタビュアーは最初にいくつかの面接が行われることを紹介しました
アルゴリズム質問1.1

整数を2進数に変換してから

アルゴリズム問題1.2取引株の最大利益

株の1日の価格を表す配列が与えられた場合、複数回売買するときの最大利益はいくつですか?
日付が重複しない場合、複数回購入および販売できますか?
入力:{100、80、120、130、70、60、100、125}
複数回購入および販売できます:115(80購入、130販売、60購入、 125売る)
ヒント:売買のシーケンスを出力する必要はありません。最大の利益を得るだけです。

  • 時間の複雑さは何ですか
  • スペースの複雑さは何ですか
判決
2.1解決した場合、このコードの何が問題になっていますか
total := 0
for i := 1; i <= 10; i++ {
	sum += i
	go func() {
		total += i
	}()
}
fmt.Printf("total:%d sum %d", total, sum)

このコードはコルーチンで実行されるため、データの不整合が発生します。
ロックを使用すると、

  • ロックする方法?達成するコード

コードは次のとおりです。

var lo sync.Mutex
func main() {
	total := 0
	for i := 1; i <= 10; i++ {
		nums += i
		lo.Lock()
		go func() {
			total += i
			lo.Unlock()
		}()
	}
	fmt.Printf("total:%d", total)
}
  • その他の質問
3その他の評価
3.1 HTTPステータスコード

400 500ステータスコード

HTTPメッセージ形式

わからない...
解決策:

3.2 HTTPリクエストメソッド

GET Get POST Create PUT Modify DELETE Delete

  • get postの違いは何ですか

個人的には、getはpostなしで比較的安全であると述べました。すべてのパラメーターはURLに配置されます。Postはパ​​ラメーターをリクエスト本文にラップします

  • 投稿のキャプチャと取得の違いは何ですか

URLには、GETリクエストのいくつかのパラメーターが伴います。これらのパラメーターは、パケットキャプチャで確認でき、すべてプレーンテキストで送信されますが、POSTはURLで確認できません。
より良い回答:https : //www.zhihu.com/question/28586791

4データベース
4.1 mysqlトランザクション

トランザクションは主に、大規模な操作と非常に複雑なデータの処理に使用されます。たとえば、人事管理システムでは、人を削除し、人の基本情報を削除する必要がありますが、メールボックスや記事など、人に関連する情報も削除して、これらのデータベース操作ステートメントがトランザクションを構成するようにします。
スケジュールされたタスク

  • 分離レベルとは

4.2 MySQLデータベースインデックスはどのように実装されますか?


B +ツリーとジャンプテーブルは少し似ているため、B +ツリーが使用されます。次のレベルを直接見つけることができます。

  • 他のデータ構造を使用しないのはなぜですか?

データ量が特に多い場合、大量のデータ検索がパフォーマンスに影響を与えるため、B +ツリーはこの問題を解決するだけです。

4.3このデータベースに最速のインデックスを追加する方法
select * from table_name where c> 10 and a = 10 and b = 10;

まず、クエリのみの値を最適化する必要があります
。cは動的であるため、*をクエリに必要なキーに変更できます。a とbに従って結合インデックスを追加して、最高の速度を実現できます。

5プロジェクト関連
プロジェクトのクローラーにどのフレームワークを使用しましたか
  • フレームワークの使用は何ですか
  • 高い並行性を実現する方法、マイクロサービスはありますか
  • 分散したい場合、どのように達成するか

kafkaで実装され、データを取得し、消費のためにkafkaを使用します

  • 預けられる情報

リストに保存

  • 検索機能をしませんでしたか

いいえ、この要件をESに保存できる場合は、esを使用して検索します

6他に何を尋ねなければなりませんか

結果が出る時期について

  • 5営業日以内に返信

おすすめ

転載: www.cnblogs.com/luolianxi/p/12728357.html