自我介紹
自我介紹,然後講自己的一個作品。講解一下作品中使用了哪些技術,有哪些模塊和功能。(結構、數據庫表、如何實現、網絡延遲對功能的影響)
注:這一部分用時較長
瞭解熟悉哪些語言?(php、Java)
php :“array_merge ”和 “+”的區別 ?(沒用到過這個函數,沒答上來!)
<?php
$arr1 = array('a'=>'PHP');
$arr2 = array('a'=>'JAVA');
//如果鍵名爲字符,且鍵名相同,array_merge()後面數組元素值會覆蓋前面數組元素值
print_r(array_merge($arr1,$arr2)); //Array ( [a] => JAVA )
//如果鍵名爲字符,且鍵名相同,數組相加會將最先出現的值作爲結果
print_r($arr1+$arr2); //Array ( [a] => PHP )
?>
Java 編寫一個發牌程序
1.講完思路之後,面試官問還有沒有更好的方法,一緊張腦子一片空白說暫時只想到了這個地方。很尷尬,修改了一次代碼之後忘了保存,運行之後沒有輸出結果,然後面試官接着往下問。
import java.util.*;
public class Exam {
public static void main(String[] args){
Random random = new Random();
int[] pai = {1,2,3,4,5,6,7,8,9,10,11,12};
int[][] person = new int[3][4];
for(int l = 0; l < person.length; l++){
for(int j = 0; j < 4; j++ ){
int i = random.nextInt(12);
System.out.println("+"+j);
if(pai[i] == -1){
j--;
continue;
}
person[l][j] = pai[i];
pai[i] = -1;
}
}
for(int i = 0; i < 3; i++){
for(int s = 0; s < 4; s++){
System.out.print(" "+person[i][s]);
}
System.out.println();
}
}
}
2.視頻結束後腦子突然又好用了,然後想到可以通過直接將 pai.length-1 下標處的牌賦給被移動下標的位置,下次隨機數的範圍減一。時間複雜度就直接是O(person.length x 4)了,不會因爲出現相同隨機數而增加時間複雜度了。
瞭解操作系統嗎?Linux 如何定時任務…
我說使用過 crontab 然後面試官反饋說不是這個。。。
狀態碼 500、400 分別表示什麼含義?
瞭解計算機網絡嗎?三次握手過程
balabala
四次揮手過程
balabala
大致就是這些內容,有些遺漏!
和預想的不太一樣,本來以爲會問很多關於數據結構、操作系統(書本上內容)、計算機網絡等基礎內容,然後大都問的是針對實際工作中可能會出現的問題,自己答得不是太好。