首頁 後端開發 php教程 php程序员面试分享_PHP教程

php程序员面试分享_PHP教程

Jul 13, 2016 am 10:28 AM
程式設計師

面试总结

今天去了北京著名IT公司进行PHP程序员的面试。这是人生第一次么,怎么不紧张?我是不是有病。不是,这叫自信呵.

首先是做一些笔试题。
1.mysql数据库索引使用的数据结构?这样做的好处是?
可以参考这篇博文:http://blog.csdn.net/ant_ren/article/details/2932068


2.有两个字符串a和b,判断b字符串是否出现在a中。不考虑大小写。。

我的答案是:使用stripos()这个函数来解决的。

 

if(stripos($a,$b)>-1)
	echo "b in a";
else
	echo "b not in a";
登入後複製

拓展:
但是如果是不考虑顺序的话,问b字符串中的字符是否全部出现在a中。。。
那我们就需要用循环来解决的。下面提供解决方案:
$b_arr = str_split($b);
for(var $i=0,$len = count($b_arr); $i < $len ;  ++$i){
	if(stripos($a,$b_arr[$i])==-1)
		return false;
	return true;
}
登入後複製

3.你知道的开源框架?
我按照自己的经验写了一些:
Laravel,PHP,jQuery。。。


4.简单解释session 和cookie。关闭cookie,session是否可用?
我写的比较简单:
session存储在服务器端,cookie存储在客户端。两者没有直接的联系。
对于访问其他的页面。PHP_SESSIONID是作为一个临时cookie放在浏览器端的。
每次浏览器发出的请求,都会在http header里 带上 sessionid来标识自己。
如果禁用cookie,那么会自动放在url后面进行传递。


5.数据库优化方案
这个自己在网络上找一下。


6.设计一个Timer类,用来计算程序运行的时间,并且简单的调用它。
class Timer { 
	private $StartTime = 0;//程序运行开始时间 
	private $StopTime = 0;//程序运行结束时间 
	private $TimeSpent = 0;//程序运行花费时间 


	function start(){//程序运行开始 
		$this->StartTime = microtime(); 
	} 
	function stop(){//程序运行结束 
		$this->StopTime = microtime(); 
	} 
	function spent(){//程序运行花费的时间 
		if ($this->TimeSpent) { 
			return $this->TimeSpent; 
		} else { 
			list($StartMicro, $StartSecond) = explode(" ", $this->StartTime); 
			list($StopMicro, $StopSecond) = explode(" ", $this->StopTime); 
			$start = doubleval($StartMicro) + $StartSecond; 
			$stop = doubleval($StopMicro) + $StopSecond; 
			$this->TimeSpent = $stop - $start; 
			return substr($this->TimeSpent,0,8)."秒";//返回获取到的程序运行时间差 
		} 
	} 
} 
$timer = new Timer(); 
$timer->start(); 
//...程序运行的代码 
$timer->stop(); 
echo "程序运行时间为:".$timer->spent(); 
登入後複製

下面是简单版的。

class Timer{
	private $t = 0;


	public function start(){
		$this->t = microtime(true);
	}


	public function stop(){
		return microtime(true)- $this->t;
	}
}


$time = new Timer();
$time->start();
//do somethings...
$t = $time->stop();
登入後複製


7.建立复合索引应该注意的事项。
(1)对一张表来说,如果有一个复合索引 on (col1,col2)就没有必要同时建立一个单索引 on col1。
(2)如果查询条件需要,可以在已有单索引 on col1的情况下,添加复合索引on (col1,col2),对于效率有一定的提高。
(3)同时建立多字段(包含5、6个字段)的复合索引没有特别多的好处,相对而言,建立多个窄字段(仅包含一个,或顶多2个字段)的索引可以达到更好的效率和灵活性。


8.设计一张数据库表。该数据表用来存储经常插入和查询的url数据。
并解释为什么这么设计的原因。
create table url(
	`id` int(11) not null primary key auto_increment comment "主键",
	`url` varchar(255) not null comment "url 内容",
	`name` varchar(50) comment "url对应的名称"
)ENGINE=MyISAM
登入後複製


我是这么建立的。
经常插入和删除,我觉的数据库存储引擎应该使用MyISAM。
如果再在url,name字段上建立一个索引就更好了。

不是我想简单写啊。这么多题目就一张A4纸啊。

这不是逼着我写简单点吗?不过我还是犯了一些低级的错误。我正在努力改正。

一点福利,分享给大家。

Best Wishes.



www.bkjia.comtruehttp://www.bkjia.com/PHPjc/802113.htmlTechArticle面试总结 今天去了北京著名IT公司进行PHP程序员的面试。这是人生第一次么,怎么不紧张?我是不是有病。不是,这叫自信呵. 首先是做一些...
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1670
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1273
29
C# 教程
1256
24
AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 Apr 07, 2024 am 09:10 AM

2022年3月3日,距離世界首個AI程式設計師Devin誕生不足一個月,普林斯頓大學的NLP團隊開發了一個開源AI程式設計師SWE-agent。它利用GPT-4模型在GitHub儲存庫中自動解決問題。 SWE-agent在SWE-bench測試集上的表現與Devin相似,平均耗時93秒,解決了12.29%的問題。 SWE-agent透過與專用終端交互,可以開啟、搜尋文件內容,使用自動語法檢查、編輯特定行,以及編寫和執行測試。 (註:以上內容為原始內容微調,但保留了原文中的關鍵訊息,未超過指定字數限制。)SWE-A

520程式設計師專屬浪漫告白方式!無法拒絕! 520程式設計師專屬浪漫告白方式!無法拒絕! May 19, 2022 pm 03:07 PM

520將至,年度虐汪大戲他又雙叒叕來啦!想看看最理性的密碼和最浪漫的告白究竟能碰撞出怎樣的火花?以下帶你逐一領略最全最完整的告白代碼,看看程式設計師們的浪漫是否能擄獲各位心目中女神的芳心呢?

揭秘C語言的吸引力: 發掘程式設計師的潛質 揭秘C語言的吸引力: 發掘程式設計師的潛質 Feb 24, 2024 pm 11:21 PM

學習C語言的魅力:解鎖程式設計師的潛力隨著科技的不斷發展,電腦程式設計已經成為了一個備受關注的領域。在眾多程式語言中,C語言一直以來都備受程式設計師的喜愛。它的簡單、高效以及廣泛應用的特點,使得學習C語言成為了許多人進入程式設計領域的第一步。本文將討論學習C語言的魅力,以及如何透過學習C語言來解鎖程式設計師的潛力。首先,學習C語言的魅力在於其簡潔性。相較於其他程式語言而言,C語

接私活賺錢! 2023程式設計師接單平台大全! 接私活賺錢! 2023程式設計師接單平台大全! Jan 09, 2023 am 09:50 AM

上週我們做了一次關於《2023PHP創業》的公益直播,很多同學諮詢具體有哪些接單平台,下面php中文網整理了22個還算可靠的平台,以供參考!

2023过年,又限制放烟花?程序猿有办法! 2023过年,又限制放烟花?程序猿有办法! Jan 20, 2023 pm 02:57 PM

本篇文章给大家介绍如何用前端代码实现一个烟花绽放的绚烂效果,其实主要就是用前端三剑客来实现,也就是HTML+CSS+JS,下面一起来看一下,作者会解说相应的代码,希望对需要的朋友有所帮助。

程式設計師是做什麼的 程式設計師是做什麼的 Aug 03, 2019 pm 01:40 PM

程式設計師的工作職責:1、負責軟體專案的詳細設計、編碼和內部測試的組織實施;2、協助專案經理和相關人員同客戶進行溝通,保持良好的客戶關係;3、參與需求研究、專案可行性分析、技術可行性分析與需求分析;4、熟悉並熟練交付軟體部開發的軟體專案的相關軟體技術;5、負責向專案經理及時回饋軟體開發的情況;6、參與軟體開發與維護過程中重大技術問題的解決;7、負責相關技術文件的擬訂等等。

淺析怎麼下載安裝VSCode歷史版本 淺析怎麼下載安裝VSCode歷史版本 Apr 17, 2023 pm 07:18 PM

VSCode歷史版本的下載安裝 VSCode安裝 下載 安裝 參考資料 VSCode安裝 Windows版本:Windows10 VSCode版本:VScode1.65.0(64位元User版本) 本文

2022年最佳的Windows 11終端機模擬器清單:Top 15款推薦 2022年最佳的Windows 11終端機模擬器清單:Top 15款推薦 Apr 24, 2023 pm 04:31 PM

終端仿真器可讓您模仿標準電腦終端的功能。有了它,您可以執行資料傳輸並遠端存取另一台電腦。當與Windows11等高階作業系統結合使用時,這些工具的創造性可能性是無窮無盡的。但是,有很多第三方終端模擬器可用。因此,很難選擇合適的。但是,正如我們對必備的Windows11應用程式所做的那樣,我們選擇了您可以使用的最佳終端並提高您的工作效率。我們如何選擇最好的Windows11終端模擬器?在選擇此清單中的工具之前,我們的專家團隊首先測試了它們與Windows11的兼容性。我們也檢查了他們

See all articles