前書き:
みなさん、こんにちは。私はYifeiです。ソフトウェアテストでは、LinuxオペレーティングシステムとMysqlデータベースのコンテンツは非常に知識が豊富で非常に重要です。そこで、Yifeiは、過去2日間に、情報やその他の方法を参考にして、すべての人のためにliunxとMysqlのインタビュー質問パッケージを整理しました。私は本当に注意していると思います。この記事を読み終えるのに10分かかる場合があります。 。
テキスト:
1.Linuxインタビューの質問
1.Linuxファイルシステムのディレクトリ構成
FHS仕様に従うために、仕様で定義されている2レベルのディレクトリ仕様は次のとおりです。/home
各アカウントには、データ管理用にこのディレクトリの下にフォルダがあります
。/usrは、windowsとwinNTのプログラムファイルを組み合わせたディレクトリに少し似ています。主にシステムを含むコンピュータのメインプログラム、ローカル側にインストールされた追加ソフトウェア、グラフィックインターフェイスに必要なドキュメント、追加機能ライブラリ、共有ディレクトリとファイルなど
。/bin / usr / bin / usr / local / binは、実行可能命令などの実行可能ファイルを格納し
ます。/bootLinuxの起動に使用されるファイルを格納します。/devLinux
デバイスおよびインターフェイスデバイスのドキュメントを
格納します。/etcアカウントやパスワードファイル、さまざまなサービスなどのシステム構成ドキュメントを格納します。ファイルを起動、
ローカル/ libにシステムが使用するライブラリが置かれetc./libは/ usr / libには/ usr /ディレクトリ
を/ mnt /メディアフロッピーディスクやCD-ROMは事前にセットポイントをマウントされている場所です。
/ディレクトリOPT追加のインストールソフトウェアをホストに配置された
の/ procこのディレクトリは、仮想ファイルシステムであり、それは任意のハードディスク領域を占有しないので、データがメモリ上にある配置されます。
/ルートシステム管理者のホームディレクトリ
/ sbin / usr / sbin / usr / local / sbinは、システム管理者のみが使用できるいくつかの実行コマンドを配置します
/ srvいくつかのサービス起動後
、これらのサービスがアクセスする必要のあるデータディレクトリ/ tmpは、通常のユーザーまたはプログラムがアクセスする場所です。一時的に配置ファイルを実行します
。/varは主に
、システム実行中にファイルが通常の変更の下に配置されるディレクトリファイルのパス(絶対パス(絶対パス)と相対パス(相対パス))用です。
絶対パスは次のとおりです。ルートディレクトリから書き込まれたファイル名またはディレクトリ名(/)
相対パスは、現在のパスを基準にして書き込まれたファイル名です。./は相対的な現在のパスを表し、... /は上位レベルのディレクトリを基準にしたパスを表し、ホームディレクトリを表し、accountは現在のアカウントのホームディレクトリを表します)
2.ファイルシステムコマンド
Linuxファイルシステムは非同期方式を採用しており、ファイルの変更はすぐにはディスクに書き込まれません。通常、syncコマンドを使用してデータをディスクに手動で同期できます。
(1)Linuxは多くのファイルシステムをマウントできます。コマンド
cat / proc / filesystemsを確認してください。
(2)ディレクトリコマンドの使用法を表示する
df -h // Gで単位として表示
df-m // Mで単位として表示
3.ファイルまたはディレクトリのサイズを表示します
du -sh
4.ディレクトリ切り替えコマンド
cd …
cd ~
cd /home
cd ./home
5.現在のパスを印刷します
pwd
- ディレクトリを作成する
mkdir(-mパラメーターはパーミッションを事前設定できます-pパラメーターはディレクトリを再帰的に作成できます)
7.ディレクトリを削除します
rmdir(空のディレクトリのみを削除できます)
rm -rfコマンドを使用して、すべてのコンテンツを削除します
- ドキュメントクエリ
ls -al
- 書類のコピー
cp src desフォルダーをコピーする場合は、-rパラメーターを追加します
10.ファイルの削除
rm-rfファイル
- ドキュメントの動き
mvファイルdesdir
12.ドキュメントの名前変更
mv desdir desdir2
13.ファイル名を取得します
ベース名
14.パス名を取得します
dirname
15.ドキュメントコンテンツへのアクセス
cat -n:ファイルのすべての内容を表示します。-nは行番号を出力することを意味します
16.ドキュメントコンテンツの抽出
head tail
head [-n number] file //ファイルの最初の数直線を表示します
tail [-n number] file // ifleの最後の数直線を表示します
- ファイル時間
Linuxドキュメントには、mtime(変更時間)、atime(アクセス時間)、ctime(ステータス変更時間)の3つの時間があります。touch
コマンドを使用して、新しいドキュメントを作成したり、Linuxドキュメントの時間を変更したりできます。
18.Linuxドキュメント検索
whereislocate(2つはデータベースを直接検索するためのもので、速度は速い)find(ハードディスクを検索する、速度は遅いが、データは最も完全である)which($ Pathによって設定されたディレクトリを検索するために使用)
which ls
whereis file //ファイルの検索ファイルの検索の場所
//すべてのディレクトリ内のファイルの検索ファイルの検索
//現在のディレクトリ内のすべてのファイルの表示
19.2つのファイルの違いを同時に表示する
diff -c file1 file2
は、2つのファイルの違いを並べて表示します
。diff-yfile1 file2
20.ドキュメントリンク
ソフトリンク:ソースファイルが消え、宛先ファイルが消える
ハードリンク:一方が変更され、もう一方が変更されますが、ソースファイルが削除されても宛先ファイルは削除されません
。file1file2//へのリンクを確立します。file1と名前をfile2In
-s file1 file2 // file1のソフト接続を確立します
- 絶対パスの記号は何ですか?現在のディレクトリと上位ディレクトリは何ですか?メインディレクトリとは何ですか?ディレクトリを切り替えるために使用されるコマンドは何ですか?
絶対パス:/etc/init.dなど
現在のディレクトリと上位ディレクトリ:./…/
ホームディレクトリ:〜/
スイッチディレクトリ:cd
- 現在のプロセスを確認する方法は?終了を実行する方法は?現在のパスを確認するにはどうすればよいですか?
現在のプロセスを表示します:ps execute exit:exit現在のパスを表示します:pwd
- 画面をクリアする方法は?現在のコマンドを終了するにはどうすればよいですか?睡眠をとるには?現在のユーザーIDを確認するにはどうすればよいですか?指定されたヘルプを表示するために使用されるコマンドは何ですか?
画面をクリア:クリア
現在のコマンドを終了します:ctrl + c
スリープの実行を完全に終了します:ctrl + zは現在のプロセスを一時停止します
fgリカバリバックステージ
現在のユーザーIDを表示します: "id":ビューには現在のログインアカウントuidとgidが表示されますそれぞれのサブ
グループとユーザー名
ビューヘルプ指定:このman adduserが非常に広く、例がある場合; adduser --helpこのレポート
は、いくつかの一般的なパラメーターを示します; info adduesr;
- Lsコマンドはどのような機能を実行しますか?どのようなパラメータを取ることができ、違いは何ですか?
lsによって実行される機能:指定されたディレクトリ内のディレクトリ、
およびファイルのパラメータと違いを一覧表示します
。aすべてのファイルlバイトのサイズ、読み取り可能、書き込み可能、実行可能権限などの詳細情報。
- ソフトリンク(ショートカット)とハードリンクを確立するためのコマンド。
ソフトリンク:ln -s slink source
ハードリンク:lnリンクソース
26 ...ディレクトリを作成するために使用されるコマンドは何ですか?ファイルを作成するために使用されるコマンドは何ですか?ファイルをコピーするために使用されるコマンドは何ですか?
ディレクトリの作成:mkdir
はファイルを作成します:通常はtouch、viはファイルを作成することもできます。実際、存在しないファイルに出力する限り、ファイル
コピーファイルを作成します。cp7。変更に使用するコマンドファイルのアクセス許可?フォーマットは何ですか?
ファイルパーミッションの変更:chmod
形式は次のとおりです
。chmod751file読み取り、書き込み、実行の
アクセス許可をファイルの所有者に割り当て、読み取りと実行のアクセス許可をファイルが配置されているグループに割り当て、実行のアクセス許可をに割り当てます他のユーザー
chmod = rファイルはすべてのユーザーに読み取り権限を割り当てます
chmoda-wx、a + rファイルは
上記の例と同じです
$ chmod -R u + rディレクトリは再帰的に読み取り権限をすべてのファイルとサブディレクトリの所有者に割り当てますディレクトリディレクトリ
- ファイルの内容を表示するために使用できるコマンドは何ですか?
viファイル名#編集モードを表示するには、catファイル名を変更できます#すべてのファイルコンテンツを
表示しますmoreファイル名#ページにファイルコンテンツを表示しますlessファイル名#はmoreに似ており、さらに良いことに、ページフォワード
テールファイル名#テールを表示するだけで、行数を指定することもできますhead file name#ヘッドのみを表示し、行数を指定することもできます
28.ファイルコマンドを自由に書いてください。「helloworld」などのスペースを含む文字列を画面に出力するにはどうすればよいですか?
ファイル書き込みコマンド:vi
29.どのファイルがどのフォルダの下にありますか?どのフォルダのどのコマンドがブラックホールファイルですか?
/ dev / tty / dev / null
- ファイルの移動に使用されるコマンドはどれですか?名前を変更するために使用されるコマンドはどれですか?
mv mv
- ファイルのコピーに使用されるコマンドはどれですか?フォルダと一緒にコピーする必要がある場合はどうなりますか?リマインダー機能が必要な場合はどうなりますか?
cp cp -r ????
- ファイルを削除するために使用されるコマンドはどれですか?ディレクトリとディレクトリ内のファイルを一緒に削除する必要がある場合はどうなりますか?空のフォルダを削除するために使用されるコマンドは何ですか?
rm rm -r rmdir
- Linuxでのコマンドにはどのような種類のワイルドカードを使用できますか?それらはどういう意味ですか?
「?」は1文字を置き換えることができます。・「*」は任意の数の文字を置き換えることができます。・角かっこ「[charset]」は、[az]、[abABC]などの文字セットセット内の任意の1文字を置き換えることができます。
- ファイルの内容をカウントするために使用されるコマンドは何ですか?(行番号、ワード数、バイト数)
wccommand-cバイト数をカウントします。
l行数を数えます。-w単語数を数えます。
35. Grepコマンドの用途は何ですか?ケースを無視する方法は?文字列のない行を見つける方法は?
強力なテキスト検索ツールであり、正規表現を使用してテキストを検索し、一致する行を印刷できます。
grep [stringSTRING]ファイル名grep [^ string]ファイル名
36. Linuxではプロセスにはどのような状態がありますか?psによって表示される情報にはどのような記号が使用されていますか?
(1)無停電状態:プロセスはスリープ状態ですが、現時点では無停電です。無停電とは、プロセスが非同期信号に応答しないことを意味します。
(2)一時停止状態/追跡状態:プロセスにSIGSTOPシグナルを送信すると、シグナルに応答してTASK_STOPPED状態になります。プロセスが追跡されているときは、TASK_TRACEDの
特別な状態になります。「追跡中」とは、プロセスが一時停止され、追跡中のプロセスが動作するのを待機していることを指します。
(3)、準備完了状態:run_queueキュー内の状態(4)、実行状態:run_queueキュー内の状態
(5)、割り込み可能なスリープ状態:この状態のプロセスは、特定のイベントの発生を待機しています(待機中ソケットは接続され、セマフォを待機中)、一時停止されます
(6)、ゾンビ状態(ゾンビ):父親が一連の待機システムコールに合格しなかった場合、子プロセスの死体(task_struct)は次のようになります。方法
(7)で解放され、状態
Dを終了します。
中断不可能です。中断不可能(通常はIO)Rが実行されているか、キューSのプロセスが休止しています。Tは停止または追跡されています。Zゾンビプロセス
Wはメモリスワップに入ります(カーネル2.6以降無効)Xデッド処理する
38. psを使用してすべてのプロセスを表示するにはどうすればよいですか?psを使用して指定したプロセスの情報を表示するにはどうすればよいですか?
ps -ef(システムv出力)ps -auxbsdフォーマット出力
ps-ef | grep pid
39.バックグラウンドタスクを表示するために特に使用されるコマンドはどれですか?
ジョブ-l
40.プロセスを終了するために使用されるコマンドは何ですか?パラメータは何ですか?
-9pidを殺す
41.システムでサポートされているすべての信号を確認するにはどうすればよいですか?
キルラキル
42.ファイルの検索に使用されるコマンドは何ですか?形式は何ですか?
dir -name“ string *”を検索します
43.どのコマンドを使用して現在ホストを使用しているのかを確認しますか?現在の端末情報を見つけるためにどのコマンドを使用しますか?
wユーザー名;ユーザーのマシン名またはtty番号;リモートホストアドレス;ユーザーがシステムにログインする時間;アイドル時間(あまり
役に立たない); tty(端末)に接続されたプロセスによって使用される時間(JCPU時間) ;現在のプロセス(PCPU時間)で使用される時、現在で使用されているコマンド
のユーザー。ユーザー名、TTY番号、日付と時刻、ホストアドレス
WHOAMI、IDの-unコマンドは、ログインユーザー名を表示するために使用された
最後のコマンド缶特定のユーザーのログインシステム(最後のジェイソン)の履歴を表示するために使用されます:ユーザー名、ttyデバイス番号、過去のログイン日時、ログアウト日時、合計作業時間。現在
の端末情報を検索します。
44.使用されているコマンドのリストを表示するために使用されるコマンドは何ですか?
歴史
45.ディスク使用スペースをチェックするために使用されるコマンドは何ですか?空き容量はどうですか?
df -hl
ファイルシステムの容量は、マウントポイントによって利用可能になりました。%
使用されるファイルシステムサイズ使用率%マウントされたオン/ dev /hda2。19G45G24G、44は%/
/ dev / hda1 494M 450M19M。4%/ブート
46.ネットワークが接続されているかどうかを確認するために使用されるコマンドは何ですか?
netstat
47 ... IPアドレスとインターフェース情報を表示するために使用されるコマンドは何ですか?
ifconfig
48.さまざまな環境変数を表示するために使用されるコマンドは何ですか?
すべてのenvを表示するhomeなどのenvを表示する:env $ HOME
ソフトウェアテスト交換グループ、QQ:642830685をお勧めします。このグループは、ソフトウェアテストのリソース、テストの面接の質問、テスト業界の情報を随時共有します。誰もがグループで活動することができ、あなたの質問に答える大物がいます。
2.Mysqlインタビューの質問
- MySQLサービスを開始します
service mysqld start
/init.d/mysqld start
safe_mysql&
mysql ****サービスを閉じる
service mysqld stop
/etc/init.d/mysqld stop
mysqladmin -uroot-p123456シャットダウン
- ポートが実行されているかどうかを確認します
lsof -i:3306
netstat -tunlp | grep 3306
ss -tulnp | grep 3306
- MySQLのパスワードを設定または変更します。
方法1
mysqladmin -u root -p123456 password'abc123 '#より一般的に使用される
方法2(SQLステートメントの変更)
update mysql.user set password = password(123456)where user = 'root' and host = 'localhost';
フラッシュ特権;
方法3(SQLステートメントの変更)
set password = password( 'abc123');
- MySQLデータベースにログインします。
シングルインスタンスログイン
mysql -uroot -p123456
マルチインスタンスログイン
mysql -uroot -p123456 -S /data/3306/mysql.sock
5.現在のデータベースの文字セットを表示します
mysql>「%charac%」のような変数を表示します。
6.現在のデータベースバージョンを表示します
mysql -V
mysql> select version();
- 現在ログインしているユーザーを表示します。
mysql> select user();
T1データベースにあるテーブルを確認する
mysql> T1を使用します。
mysql>テーブルを表示;
8. GBK文字セットのoldboyデータベースを作成し、構築されたデータベースの完全なステートメントを表示します
mysql> create database oldboy default character set gbk;
mysql> show create database oldboy;
- データベースoldboyを管理できるように、ユーザーoldboyを作成します
mysql> '123456'で識別されるoldboy @ 'localhost'にoldboy。*のselect、update、insert、delete、alterを付与します。
10.作成されたユーザーoldboyが持っている権限を確認します
mysql> show grants for oldboy @ 'localhost';
- 現在のデータベースにいるユーザーを確認します
mysql> mysql.userからuser、hostを選択します。
- オールドボーイデータベースに入る
mysql> use oldboy();
13 ...テーブル構造とテーブル構造のSQLステートメントを表示する
mysql> desc test;
mysql> show create table test \ G
mysql> update test set name = 'oldgirl' where id = 1;
- フィールド名の前にage ****フィールドを挿入し、tinyint(2)と入力します
mysql> alter table test add age tinyint(2)after id;
15 ...データベースを終了せず、oldboyデータベースのバックアップを完了します
mysql> system mysqldump -uroot -p123456 -B -x -F --events oldboy> /opt/bak.sql
16.テストテーブルのすべてのデータを削除し、表示します
mysql>テストから削除;
- テーブルテストとoldboy ****データベースを削除して表示します
mysql>ドロップテーブルテスト;
mysql>データベースoldboyを削除します。
18.データベースを終了せずに、上記の削除されたデータを復元します
mysql> system mysql -uroot -p123456 </opt/bak.sql
19.ライブラリテーブルのGBK文字セットをUTF8に変更します
mysql> alter database oldboy default character set utf8;
mysql> alter table test default character set utf8;
- id列を主キーとして設定し、Name ****フィールドに通常のインデックスを作成します。
mysql> alter table test add primary key(id);
方法1:
mysql> alter table test add index index_name(name);
方法2:
mysql> test(name);にインデックスindex_nameを作成します。
- フィールド名の後に携帯電話番号フィールド(shouji)を挿入し、char(11)と入力します。
mysql> alter table test add shouji char(11)after name;
- すべてのフィールドに2つのレコードを挿入します(自分でデータを設定します)
mysql>テスト(id、age、name、shouji)の値( '4'、 '27'、 'wangning'、 '13833573773');に挿入します。
mysql>テスト(id、age、name、shouji)の値( '5'、 '30'、 'litao'、 '13833573773');に挿入します。
- 電話フィールドの最初の8文字の通常のインデックスを作成します
方法1:
mysql> alter table test add index index_shouji(shouji(8));
方法2:
mysql> test(shouji(8));でインデックスindex_shoujiを作成します。
24.1主キーインデックスを追加する
mysql> alter table test add primary key id_name(id)
25.作成されたインデックスとインデックスタイプおよびその他の情報を表示します。
mysql> test \ Gからのインデックスを表示
- Name、shouji ****列のインデックスを削除します。
mysql> alter table test drop index index_name;
mysql> alter table test drop index index_shouji;
27名前列の最初の6文字と携帯電話列の最初の8文字は、共同インデックスを形成します。
mysql> create index index_name_shouji on test(name(6)、shouji(8));
- 携帯電話番号が135で始まり、名前がoldboy ****(事前に挿入)であるレコードをクエリします。
mysql> select * from test where name = 'oldboy' and shouji like“ 135%”;
29.上記のステートメントの実行プランを照会します(ジョイントインデックスを使用するかどうかなど)。
mysql> Explain select * from test where name =“ oldboy” and shouji like“ 135%” \ G
- テストテーブルのエンジンをMyISAMに変更します。
mysql> alter table test engine = myisam; #myisamでは大文字と小文字は区別されません
- oldboyユーザーのselect ****権限を撤回します。
mysql> oldboy @ 'localhost'からoldboy。*のselectを取り消します。
- oldboyユーザーを削除します。
mysql> drop user oldboy @ 'localhost';
- oldboyデータベースを削除します。
mysql>データベースoldboyを削除します。
- mysqladminを使用してデータベースを閉じます。
mysqladmin -uroot-p123456シャットダウン
- MySQLパスワードが失われました。取得してください。
pkill mysql
#最初にmysqlサービスを閉じ、認証ログイン検証を無視して–skip-grant-tablesを使用してmysqlを
起動しますmysqld_safe --defaults-file = / etc / my.cnf --skip-grant-tables&
mysql #再度ログインします現時点では、すでにパスワードは必要ありません
mysql> update mysql.user set password = password( 'abc123')where user = 'root' and host =“ localhost”;#新しいパスワードを設定します
mysql>フラッシュ特権;
mysql -uroot -pabc123#新しく設定したパスワードで再度ログインします
MySQLの運用と保守の基本的な知識の面接の質問
36.リレーショナルデータベースの概念と主な機能について説明してください。
概念:
リレーショナルデータベースは、リレーショナルモデルの使用をサポートするデータベースです。簡単に言うと、リレーショナルモデルは2次元テーブルモデルを指し、リレーショナルデータベースは2次元テーブルとそれらの間の接続で構成されるデータ編成です。 。
特徴:
最大の特徴は、トランザクションの一貫性です。
利点:理解しやすく、使いやすく、保守しやすく、SQLをサポートします。
短所:
高い同時読み取りおよび書き込み要件:Webサイトのユーザー同時実行性は非常に高く、1秒あたり数万の読み取りおよび書き込み要求に達することがよくあります。従来のリレーショナルデータベースでは、ハードディスクI / Oが大きなボトルネックになります。
大量のデータの効率的な読み取りと書き込み:大量のデータを含むWebサイトの場合、リレーショナルデータベースのクエリ効率は非常に低くなります。
3.最後に書かれています:
ここでは、私が自分で作成したソフトウェアテスト交換グループQQ:642830685をお勧めします。このグループは、ソフトウェアテストリソース、テストインタビューの質問、業界情報を随時共有します。グループ内のテクノロジーや業界リーダーを積極的に交換できます。 。あなたは質問に答えます。