Linux運営メンテナンスエンジニアの面接問題第4セット

4662 ワード

Python
1、仮にAAA=[1,1,3,5,2,6,1,7,3,45]としますが、pythonを使ってlistで繰り返した数字をどのようにフィルタしますか?
>>>list(set(AAA))

【レビュー】注意、set(list(AAA))の結果も同じようですが、setは{}、listは[]です.しかもAAAに中かっこ中かっこが入っている場合はset(list()を使用してはいけません.比べものにならないからです.ハッシュではありません.
2、listとtupleの違いを簡単に述べる
Listはダイナミックで、設定が終わったら要素を削除できますが、tupleは静的で、要素を削除できません.
【評価】tupleの呼び出し速度はより速く、繰り返し呼び出す必要がある配列であればtupleの方が効果的である.
tupleはインデックスも削除もできませんが、実際には要素を増やすことができます.例を挙げます.
>>>AAA=(1,2,4,5)
>>>AAA=AAA[:2]+(3,)+AAA[2:]
>>>print(AAA)              #    。

3、search()とmatch()の違いを簡単に述べる
match()関数はREがstringの開始位置で一致するかどうかを検出し、search()はstring全体をスキャンして一致を検索します.つまりmatch()は0位置で一致に成功した場合にのみ戻ります.開始位置一致に成功しなければ、match()はnoneを返します.
4、乱数を生成するにはどうすればいいですか?
>>>import random
>>>random.random()

【レビュー】0~1の間の浮動小数点数を生成します.1~10の整数を生成する場合はprint(random,randint(1,10))です.
aaa=[「林志玲」、「賈静雯」、「劉濤」、「関詠荷」、「高円」など、固定されたいくつかの要素からランダムに値を抽出する場合は、これらの女性からランダムに値を抽出し、同じようにimport random、それからrandomを抽出します.choice(aaa).
5、仮にAAA=[「メッシ」、「ネイマール」、「スアレス」、「ピック」、「ブスコッツ」、「イニエスタ」、BBB=[「ピック」、「デハア」、「ラモス」、「イニエスタ」、「ファブレガス」、「ブスコッツ」と仮定して、2つのlist間の交差と差集をどのように求めますか?
交差:CCC=[val for val in AAA if val in BBB]
差セット:DDD=[val for val in AAA if val not in BBB]
【レビュー】DDDというダイバーシティはAAAというリストにありますがBBBにはありません.BBBにあってAAAにはない要素を表示するには、DDD=[val for val in BBB if val not in AAA]を切り替えます
本題ではAAAもBBBもlistなので「リスト生成式」を使います.ここでAAAとBBBがset、すなわちAAA={"メッシ","ネイマール","スアレス","ピック","ブスコッツ","イニエスタ"},BBB={"ピック","ドヘア","ラモス","イニエスタ","ファブレガス","ブスコッツ"}であれば、このように交差を求めるのはAAA&BBBであり、差集はAAA|BBBである.
6、単語と不定個数のスペースからなる文字列を反転し、単語のアルファベットの順序が変わらないことを要求する.I love this game!「game!this love I」に反転します.
>>> import re
>>> AAA = "I love    this      game!"
>>> BBB= ''.join(re.split(r'(\s+)',AAA)[::-1])
>>> print(BBB)

【評析】この問題はわずかな字だが、本当に難しい.
7、deepcopyとcopyの違いは?
copy:親オブジェクトのみをコピーし、中の子オブジェクトを深く掘り下げません.
deepcopy:親オブジェクトの子オブジェクトがコピーされていて、少しそのままの意味です.
【評価】
>>>import copy
>>>a=[1,2,3,4,["a","b"]]
>>>b=a    # a    
>>>c=copy.copy(a)    #   
>>>d=copy.deepcopy(a)    #   
>>>a.append(5)
>>>a[4].append("c")    #         a,b,c,d     。

Mysql
1、MySQLのmyisamとinnodbの違い、少なくとも5点
【レビュー】Mysqlでよく見られるストレージエンジンの特徴を表にまとめる
特長
myisam
innodb
memory
archive
ストレージの制限
256TB
64TB
あります
なし
物事の安全
いいえ
サポート
いいえ
いいえ
インデックスのサポート
サポート
サポート
サポート
サポートされていません
ロック粒子
テーブルロック
ロー・ロック(インデックスがない場合はテーブル・ロック)
テーブルロック
行ロック
データ圧縮
サポート
サポートされていません
サポート
サポートされていません
外部キーのサポート
いいえ
サポート
いいえ
いいえ
2、varcharとcharの違い;varchar(50)の50の意味;int(20)中の20の意味;
charは定長変数,varcharは変長変数である.varchar(50)は、この行の変数の最大格納バイトが50バイトであることを示し、int(20)は同じである.
【レビュー】1行がname char(8)であると仮定し、1つのデータがAAAであれば、3バイトしか記憶されていないが、8バイトも記憶されており、残りの5バイトが空いていても空いている.name varchar(8)あ、同じAAAでも、長くなるので3バイトしか保存されておらず、残り5バイトは弾力性があり、あれば使い、なければ使いません.
読み取りの面では、charの読み取り速度はvarcharよりも速く、つまりよく言われる「読み取りで容量を変える」が多いが、varcharを多く使い、データベースの内容が万億以上になると、節約できる容量は非常に大きい.
3、MySQLデータベースのcpuが500%に急上昇したらどうする?
4、explainから出てきた様々なitemの意味;Profileの意味と使用シーン;explainのインデックスの問題.
5、バックアップ計画、mysqldump及びxtranbackupの実現原理;バックアップのリカバリ時間バックアップ・リカバリに失敗した場合の処理方法.
mysqldumpは、sqlレベルのバックアップメカニズムを採用し、データテーブルをsqlスクリプトファイルに導き、使用しないmysqlバージョン間でアップグレードする場合に適しています.
xtranbackupはinnodbのhotbackupツールで、xtranbackupは起動時にすべてのデータファイルをコピーし、同時にバックグラウンドプロセスを起動してトランザクションログを監視し、トランザクションログから最新の変更をコピーします.したがってxtrbackupは起動の開始時に、トランザクションログの各データファイルの変更を記録することが分かりません.
mysqldumpのバックアップとリカバリ時間は遅く、データの更新と変更は保留されます.
xtrabackupのリカバリ時間はmysqldumpより少し速いですが、テーブルがロックされます.
バックアップ・リカバリに失敗した場合、原因はたくさんありますが、主にパラメータの設定が間違っている可能性があります.パラメータをチェックしてください.
【レビュー】mysqldumpを使用してデータテーブルをバックアップするコマンドをshellで実行します.
mysqldump-uユーザー名-pパスワード(直接-p可能)-hホスト名--databasesデータベース名>バックアップするファイルパス
mysqldump-uユーザー名-pパスワード-hホスト名--all-databases>バックアップするファイルパス
mysqldump-uユーザー名-pパスワード-hホスト名--no-dataデータベース名>バックアップするファイルパス
ここは全部ではないので,別に文章を書いて補充する.
6、MySQLのInnoDBエンジンの行ロックは何に付けて完成(または実現)したのですか?どうしてこんなことになったの?
InnoDBの行ロックはインデックスに付けることで実現されていますが、なぜこのように設計されているのか、私も知りません.mysqlの設計会社に聞いてみます.
http://www.2cto.com/database/201312/265037.html
http://www.myexception.cn/mysql/1712377.html
転載先:https://blog.51cto.com/chenx1242/1742467