php面试hr要看你的项目,昨晚hr给了我一个面试题,说过了就安排我面试
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
//考察1:讀懂題
//考察2:有漏洞,不說小循環循環幾次,考驗邏輯能力
//考察3:三種情況如何判斷,對php基本函數掌握情況
//考察4:ajax數據傳輸
//考察5:前臺頁面渲染顏色
//只用 php寫了計算部分,后邊顏色渲染ajax以后自己js寫吧
api(5);
//$for_num 大N,用戶要循環的次數
function api($for_num){
$for_num = 5;//循環次數N
$return =array();
$return['arr'] = array();//存儲每次結果
$return['R'] = 0;//最終結果
$return['w1'] = 0;//最終w1次數
$return['e'] = 0;//最終e1次數
$return['l1'] = 0;//最終l1次數
$return['empty'] = 0;//執行時前三種情況落空次數
for($i=0;$i
$re = judge();
switch ($re['state']) {
case 'w1':
$return['w1']+=1;
break;
case 'e':
$return['e']+=1;
break;
case 'l1':
$return['l1']+=1;
break;
default :
$return['empty']+=1;
break;
}
$return['arr'][] = $re;
}
$return['R'] = $return['w1'] * 4
+$return['l1'] * (-8);
var_dump('R:',$return['R']);
var_dump('w1:',$return['w1']);
var_dump('e:',$return['e']);
var_dump('l1:',$return['l1']);
var_dump('empty:',$return['empty']);
var_dump($return['arr']);
}
//執行函數-進行判斷
function judge(){
$return = array();
$tmp_arr = make_rand_arr();
$return['arr'] = $tmp_arr;
//1.判斷w1情況
$re = judge_w1($tmp_arr);
if($re) {
$return['state'] ='w1';
return $return;
}
//2.判斷E
$re = judge_e($tmp_arr);
if($re) {
$return['state'] ='e';
return $return;
}
//3.判斷L1
$re = judge_l($tmp_arr);
if($re) {
$return['state'] ='l1';
return $return;
}
//4.都沒命中,返回false
$return['state'] =false;
return $return;
}
//子函數:制造隨機函數
function make_rand_arr(){
$w = 0;
$j = 100; //每一輪產生隨機數的次數
$tmp_arr = array();
$i = 0;
while($i < $j){
$rand_num = mt_rand(0,1);
if($rand_num == 1){
$w -= 1;
}else{
$w += 1;
}
$tmp_arr[] = $w;//歸組
$i+=1;
}
return $tmp_arr;
}
//子函數:判斷w1
function judge_w1($tmp_arr)
{
$key = array_search('4',$tmp_arr);
if($key !== false){
//4以前的所有數字
$tmp_arr = array_slice($tmp_arr,0,$key);
if(!in_array('-6',$tmp_arr)){
//如果4以前沒有出現過6
return true;
}
}
return false;
}
//子函數:判斷e
function judge_e($tmp_arr)
{
$key = array_search('-6',$tmp_arr);
if($key !== false){
//-6以前的所有數字
$tmp_arr_pre = array_slice($tmp_arr,0,$key);
//-6以后的所有數字
$tmp_arr_bottom = array_slice($tmp_arr,$key+1,count($tmp_arr));
if( !in_array('4',$tmp_arr_pre) ){
//如果前邊沒出現過4
//后數組沒出現小于-6
foreach($tmp_arr_bottom as $k=>$v){
if($v
return false;
}
}
return true; //只有出現-6,前無4,后都大于-6,true
}
}
return false; //如果沒有出現-6,返回false
}
//子函數:判斷l
function judge_l($tmp_arr)
{
$key = array_search('-6',$tmp_arr);
if($key !== false){
//-6以前的所有數字
$tmp_arr_pre = array_slice($tmp_arr,0,$key);
//-6以后的所有數字
$tmp_arr_bottom = array_slice($tmp_arr,$key+1,count($tmp_arr));
if( !in_array('4',$tmp_arr_pre) && in_array('-8',$tmp_arr_bottom) && !in_array('0',$tmp_arr_bottom) ){
//如果之前沒出現4,之后沒出現0,之后出現了-8
return true;
}
}
return false; //如果沒有出現-6,返回false
}
?>
總結
以上是生活随笔為你收集整理的php面试hr要看你的项目,昨晚hr给了我一个面试题,说过了就安排我面试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以下哪些材料有助于去除厨房下水道的异味?
- 下一篇: the L怎么取消屏蔽