2017年秋の募集筆記試験の一部(php)

1.次のコードの出力は次のとおりです。

<?php
$a = "www";
settype($a,'array');
(string)$a;
floatval($a);
echo gettype($a);
?>

[回答]:配列

[分析]:これらの強制型変換の場合、自動型変換であっても、オペランド自体の型は変更されません。変更されるのは、これらのオペランドの評価方法と式自体の型のみです。変数のタイプを変更する場合は、settype();を使用する必要があります
。2。既存のテーブルブックの場合、プライマリキーbookidがID列として設定されます。次のステートメントを実行する場合:bookからbook2にvalue1、value2を選択します。正しいステートメントはどれですか。

A.テーブルbook2がデータベースにすでに存在する場合、エラーが表示されます。
B.テーブルbook2がデータベースにすでに存在する場合、ステートメントは正常に実行され、テーブルbook2のbookidが識別子として自動的に設定されます。
C.テーブルbook2がデータベースに存在しない場合、ステートメントは正常に実行され、テーブルbook2のbookidが自動的にプライマリキーとして設定されます。
D.テーブルbook2がデータベースに存在しない場合、ステートメントは正常に実行され、テーブルbook2のbookidが識別子として自動的に設定されます。

[回答]:A、D;明らかにAを選択します; Bは間違いなく間違っています、選択してください...
挿入時に自動的に作成されるため、ターゲットテーブルが存在しない必要があります。C.テーブルまたはテーブル構造をコピーすることを選択すると、クローンされた人と同じように「シェル」のみが取得され、体のみが取得され、個人の意識や記憶はクローンされません。元のテーブルのプライマリキー、外部キー、制約、トリガー、およびインデックスはコピーされません。D.識別列は、空でない自動インクリメント列を意味します。タグ列とも呼ばれ、特定の列が自動インクリメントに設定されます。

3. mysqlインデックスの説明は正しいです:
A.mysqlはフルテキストインデックスをサポートしていません
B.myISAMおよびInnoDBストレージエンジンテーブルのデフォルトの作成インデックスはB-TREE
インデックスです
C.mysqlは現在機能インデックスをサポートしていませんが、プレフィックスインデックスをサポートしています

[回答]:B
A. Mysqlはフルテキストインデックスをサポートしています。古いバージョンのMySQLのフルテキストインデックスは、MyISAMテーブルのchar、varchar、およびtextフィールドでのみ使用できます。
ただし、新しいバージョンのMySQL 5.6.24のInnoDBエンジンでは、フルテキストインデックスも追加されています。
テーブルを作成するときにフルテキストインデックスを作成するか、テーブルを変更して追加するか、インデックスを直接作成することができます
。B。インデックスはストレージエンジンレベルの概念に属し、さまざまなストレージエンジンがさまざまな方法でインデックスを実装します。MyISAMエンジンはインデックス構造としてB + Treeを使用します
。InnoDBもインデックス構造としてB + Treeを使用しますが、特定の実装はMyISAMとは大きく異なります。C.mysqlは機能インデックスをサポートするようになりました。MySQL5.7ではGenerated Column(機能インデックス)が導入されました。インターネットでプレフィックスインデックスの特定の定義を見たことがありません。
4.これとPhpの自己と親の違いは何ですか?
具体的な選択肢は書き留めていませんが、一般的な調査内容は以下のとおりです。
[回答]
-これは、インスタンス化するときに誰を指すかを決定するためのものです。これは、現在のオブジェクトインスタンスへのポインタであり、他のオブジェクトやクラスを指すものではありません。
-selfはクラス自体を指します。つまり、selfはインスタンス化されたオブジェクトを指しません。通常、selfは
クラス内の静的変数を指すために使用されます。parentは親クラスへのポインターであり、通常、parentを使用して親クラスのコンストラクターを呼び出します。
parent :: __constrcuctは親クラスの構築メソッドを呼び出します

5. TCPプロトコルで、サーバープロセスが異常に再起動し、クライアントメッセージを受信できる場合は、()メッセージを送信して接続を切断できますか?
A.URG
B.FIN
C.RST
D.SYN

[回答]:C。TCP
セグメントのヘッダーの固定部分の一部のフィールドです
。A。緊急URG、URG = 1の場合、緊急ポインタフィールドが有効であることを示します
このセグメントに緊急データがあることをシステムに通知します。B。FINを終了します。 、接続を解放するために使用されます。FIN = 1の場合、このセグメントの送信者のデータが送信されており、トランスポート接続を解放する必要があることを意味します。
C.RSTをリセットします。RST= 1の場合、TCP接続で重大なエラー(ホストのクラッシュやその他の理由など)が発生したことを示します。接続を解放してから、トランスポート接続を再確立する必要があります。RSTを1に設定すると、不正を拒否するためにも使用されます。メッセージセグメントまたは接続の開始の拒否、RSTは再構築ビットまたはリセットビット
Dと呼ぶことができます。同期SYNは、接続を確立するときにシリアル番号を同期するために使用されます。1に等しい場合、これは接続の要求またはメッセージの受け入れの要求であることを意味します。
6.Linuxは、相互除外ロックと条件変数を介してデータを共有します。スレッドが条件変数によってブロックされている場合、スレッドをウェイクアップするコマンドは何
ですか(オプションは記憶されていません...)

7. HTML Canvasのパフォーマンスの最適化に関して、何が問題になっていますか...
8。次のコードの時間の複雑さは次のとおりです。

int  func(int n){
  if(n<=l)return l;
  return n*fact(n-1);
  }

9.次の状況のうち、戦略モデルのカテゴリに属する​​ものはどれですか()

A.许多相关类仅仅是行为有差异

B.核心是采用面向对象的多态性的思想

C.需要经算法和对象分开,算法随它的客户而变化

D.避免暴露复杂的、与算法相关的数据结构
【答案】:ABD

試験ソフトウェアエンジニアリング
戦略モード:アルゴリズムのファミリーを定義し、各アルゴリズムをカプセル化して、それらを交換可能にします。このモードでは、アルゴリズムを使用する顧客とは関係なくアルゴリズムを変更できます。ポリシーモデルとも呼ばれます

策略模式把对象本身和运算规则区分开来,其功能非常强大.**因为这个设计模式本身的核心思想就是面向对象编程的多形性的思想<**
算法使用客户不应该知道的数据。可使用策略模式以避免暴露复杂的、与算法相关的数据结构。

10.デッドロックとセキュリティ状態の関係は()です。

A.死锁状态有可能是安全状态

B.安全状态也可能是死锁状态

C.不安全状态必定产生死锁

D.死锁状态一定是不安全状态

[回答]:D

11.フライトシステムの場合、フライト情報を手動で入力する必要があります。フライト情報テーブルの名前はHBXX、特定のフライトの番号フィールドの名前はHBBH、運賃はpjです。従業員にハンドエラーが発生し、フライト番号0001が運賃99に割り当てられました。間違った入力は999です。変更してください。次のステートメントは正しい
です。A.UPDATEHBXXSET pj= 99 WHERE HBBH= '0001';
B.UPDATE HBXX SET pj= 99 WHERE pj= 99;
C.ALTER HBXX SET pj= 99 WHERE HBBH= 0001 ;

[回答]:間違いなくAを選択し

ください
。12。JSモジュラー仕様に属するものは次のとおりです。A.CommonJSB.NODEJS
C.ECMA javascript
D.AMD

[回答]:AD
13. 1,000,000のレコードがあり、ブロックごとにいくつかのサブテーブルに分割され、インデックスが確立されます。各サブテーブルのサイズはどのくらいですか
A.1000
B.100
C.500
D.2000

[回答]:
調査:データ構造-インデックス
ここに写真の説明を書いてください
14。

int a[2][3]={0,1,2,3,4,5};
int(*p)[3];
p=a;

次のアドレスオプションは、
A。*(a + 1)
Ba [1] +1
C. * a [1] +1
Da [1]です。

[回答]:A(彼は複数の選択肢からなる質問ですが、他の回答もありますが、よくわかりません...)

配列ポインタ
pが2次元配列ポインタであることを確認してください

15. 10の閉じた間隔があり、残りの間隔が交差しないようにできるだけ少ない間隔を削除します。少なくともいくつかは削除できます

[1,100] [5,6] [6,7] [7,8] [9,18] [20,210] [70,99] [99,100] [70,100]
[101,102]

16、
次のコードの出力は次のとおりです。

int func(int x){
 int countx=0;
 while(x){
   countx++;
   x=x*(x-1);
   }
   return countx;
   }
  void main(char[]argv){
  cout<<func(135)<<endl;
  }

[回答]:4

countx +; x = x&(x-1)であることに注意してください。最終的なcountxは、xのバイナリの1の数です。

17.
次のコードの出力は次のとおりです。

usigned int a =0xfffffff7;
char *b = (char *)&a;
unsigned char i = (unsigned char)a;
printf("%08x,%08x\n",i,*b);

[回答]:ffffffff7
X86シリーズのマシンでは、データのストレージは「リトルエンディアンストレージ」です。リトルエンディアンストレージとは、複数のバイトにまたがるデータの場合、下位ビットが下位アドレスユニットに格納され、上位ビットが上位アドレス単位charb =(char *)&a、&aはunsigned int型データへのポインタを指し、(char *)&aは&aをchar *型のポインタにキャストし、この時点で切り捨てが発生します。切り捨て後、ポインタbはoxf7のみを指します(bが最高のoxffではなく最低のoxf7を指すのはなぜですか?これは前述のリトルエンディアンストレージであり、下位アドレスユニットは下位ビットデータを格納します。ポインタbはchar *タイプであるため、符号付きの番号、つまり符号付きの番号は、printf();のアクションの下でfffffff7を出力します。18。
有向エッジを持つ有向グラフ{

int a = 3;
int b =4;
int c=  5;
int d = 6;
int m = 5;
int n = 5;
if((m=a>b)&&(n=c>d)){
m++;
print("%d%d\n",m,n);


}

[回答]:0、5;

優先度と&&記号を見ると、この種のコードはphpとc ++でのみサポートされており、エラーはjavaで報告されます。
最初に(m)=(a> b);を計算して、mに値を割り当てます。これは、a> b = 0であるため、m = 0; &&シンボルには特性があり、現在の状態はfalseまたは0であり、実行

したがって、mが0に割り当てられた後は、フォローアップはありません。nは変わらない、または5。
[注]:php、c ++の筆記試験の質問は、しばしばこの優先質問を取ります、大きな穴、あなたはこのタイプをもっと練習することができます

あなたはこの記事を見ることができます、http://www.jianshu.com/p/5ab28ce6472a
はすべて非常に典型的なトピックです

総括する

私がよくテストするのは、C ++ポインターの問題、データベースインデックス、およびいくつかの基本的な操作ステートメントです。

phpをテストする限り、優先順位の割り当てステートメントに関連するトピックとLinuxのフロントエンドに関する少量の知識をテストし、コンピューターネットワークのTCPプロトコルもテストする必要があります。データ構造内の加重パスとグラフの計算もテストされます。

データベースは通常、分離レベルとトランザクション特性もテストし、ダーティデータの読み取り、ファントム読み取り、繰り返し不可能な読み取りなど、トランザクション特性に関するいくつかのナレッジポイントをテストします。データベースクエリの最適化と同時実行制御

後で、自分がやった質問に対する答えが得られないことがよくあることに気づき、やったような印象を受けましたが、答えを思い出せませんでした。

おすすめ

転載: blog.csdn.net/sinat_35803474/article/details/77621415