PHP2017 최신 버전 인터뷰 질문(답변 포함)
많은 친구들이 PHP 면접 질문을 하는 것을 보고 몇 가지 면접 질문을 모아봤습니다. 모두 2017년 최신 질문들입니다. 여러분의 실력 향상에 도움이 되기를 바라겠습니다. 또한, 원하시는 회사에 합격하시길 바라겠습니다.
이 글은 2017년 최신 PHP 면접 질문을 좀 더 자세히 모아 분석한 글입니다. 참고할 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.
1. PHP를 사용하여 2006-5-10 22:21:21(2포인트)
$a = date(" 형식으로 전날 시간을 출력합니다. Y-m-d H:i:s", strtotime ("-1일"));
print_r($a);
2. echo(),print(),print_r()의 차이점(3점)
echo와 print는 동일한 기능이 아닙니다. 그들은 언어 구조입니다.
int print(string $arg), 단 하나의 매개변수
echo arg1, arg2; 여러 매개변수를 출력하고 void를 반환할 수 있습니다.
echo와 print는 구조가 아닌 문자열을 인쇄합니다.
print_r은 구조를 인쇄할 수 있습니다.
예를 들어
$arr = array("key"=>"value");
print_r($arr);
3 . HTML과 PHP를 별도로 사용할 수 있게 해주는 템플릿(1점)
smarty, phplib
4. 버전 관리에 사용되는 도구는 무엇인가요?(1점)
svn, git, cvs
5. 문자열 반전을 달성하는 방법은 무엇입니까?(3점)
영어:
strrev($a)
중국어 또는 기타 텍스트:
중국어: GB2312, 코드는 GB2312
함수 역방향($str)
{
$ret = "";
len=mbstrwidth(str,"GB2312");
for(i=0;i< len;i++)
{
arr[]=mbsubstr(str, $i, 1, "GB2312 ");
}
return implode("", array_reverse($arr));
}
print_r(reverse("Hello")) ;
6. MYSQL 데이터베이스를 최적화하는 방법. (4점, 많이 쓸수록 더 많은 것을 얻을 수 있습니다)
문 측면:
1 인덱스를 사용하여 쿼리 효율성 높이기
2 쿼리 문 최적화 및 인덱스 적중률 향상
데이터베이스 측면:
1 하위 구성 데이터베이스 저장 및 확장 기능을 향상시키기 위한 데이터베이스 및 테이블
2 필요에 따라 다른 저장 엔진을 사용하세요
7. PHP의 의미(1포인트 전송)
Hypertext PreProcessor
Hypertext PreProcessor
8 . MYSQL 현재 시간을 가져오는 함수는?, 날짜 형식을 지정하는 함수는 (2포인트)
CURRENT_TIMESTAMP()
DATE_FORMAT()
select DATE_FORMAT("2011-11-21 10:10:10 ", "%Y- %m-%d");
9. 중국어 텍스트 문자열을 잘못된 문자 없이 가로채는 방법입니다. (3점)
mb_substr($str, 1, 1, "GB2312");
10. 버전 관리 소프트웨어를 사용해 본 적이 있습니까? 그렇다면 사용하는 버전 관리 소프트웨어의 이름은 무엇입니까? 1점)
svn
git
11. 템플릿 엔진을 사용해 본 적이 있나요? 그렇다면 사용하는 템플릿 엔진의 이름은 무엇인가요? (1점)
smarty
12. 가장 인기 있는 템플릿 엔진에 대해 간략하게 설명해주세요. 자랑스러운 개발 작업(4점)
XXX
13 트래픽이 많은 웹사이트의 경우 트래픽 문제를 해결하기 위해 어떤 방법을 사용하시나요?(4점) 1 캐시를 효율적으로 사용하고 캐시 적중률 높이기
2 로드 밸런싱 사용
3 CDN을 사용하여 정적 파일 저장 및 가속화
4 데이터베이스 사용량 줄이기 아이디어
5 통계적 병목 현상이 있는 위치 확인
14. PHP를 사용하여 클라이언트 IP와 서버 IP의 코드에 대한 표시 1포인트를 작성합니다.)
$_SERVER["REMOTE_ADDR"]
$_SERVER["SERVER_ADDR"]
15. include 및 require? 동일한 파일에 대해 (?) 문을 사용하여 대체할 수 있습니까? (2점)
실패한 경우:
include는 경고를 생성하고 require는 직접 오류 인터럽트를 생성합니다.
require는 실행 전에 로드됩니다. 런타임에 포함합니다. Load require_onceinclude_once16 SESSION의 생존 시간을 수정하는 방법(1포인트).
17. PHP 연구소 홈페이지와 같은 웹페이지 주소: http: //www.jb51.net/index.html, 콘텐츠를 얻는 방법($1 포인트)
file_get_contents
18. HTTP 1.0에서 상태 코드 401의 의미는 (?)입니다. "파일을 찾을 수 없습니다."라는 프롬프트가 반환되면 헤더 함수를 사용할 수 있으며 해당 구문은 (?)입니다.
$a = <
와 같은 다른 서버에 의존할 수 있습니다. (1점) )
22를 입력하고, 게시물이 가장 많은 10명의 이름을 SQL로 작성하고, 다음 표를 사용하세요: 멤버 (ID, 사용자 이름, 게시물, 패스, 이메일) (2포인트)
회원 중에서 상위 10개의 ID, 사용자 이름을 게시물 순서대로 선택하세요. desc
23. PHP에서 값 전달과 참조 전달의 차이점을 설명해주세요. 언제 값으로 전달해야 하는지, 언제 참조로 전달해야 하는지?(2점)
& 참조로 전달하는 것을 의미합니다.
참조로 함수의 매개변수를 전달하면 매개변수가 변경됩니다.
일반적으로 출력이 여러 개 있는 경우 참조 사용을 고려할 수 있습니다.
24.PHP에서 error_reporting 기능은 무엇인가요? (1점)
오류 표시 수준을 설정합니다
25. 정답입니다 (2점)
$str = "jianfeng@126.com";
regex="([a−z0−9.−]+)@([da−z.−]+).([ a−z.]2, 6)" ; //Regular
return preg_match(regex,str)
26. 가져온 매개변수를 포함하여 현재 실행 스크립트 경로를 가져오는 방법을 간략하게 설명합니다. (2포인트)
$argc --매개변수 개수 가져오기
$argv --매개변수 목록 가져오기
27 SESSION의 생존 시간을 수정하는 방법(1포인트)
session_set_cookie_params
28 JS 폼의 팝업 대화상자 기능은 무엇인가요? (2점)
confirm()
promopt()
focus()
29 JS의 리디렉션 기능은 ?외부 JS 파일을 도입하는 방법(2점)
window.location.href="#"
30, foo()와 @foo()의 차이점은 무엇입니까? (1점)
@는 모든 경고를 나타내고
31. 메소드와 속성이 없는 "myclass"라는 클래스? (1포인트)
class myclass
{
}
32. "myclass"라는 객체를 인스턴스화하는 방법은 무엇입니까? (1포인트)
$myclass = new myclass();
33. 클래스의 속성에 어떻게 액세스하고 설정합니까? (2점)
class A
{
public $name = "A";
}
$a = new A();
n= a->name;
print_r($n);
34,
mysql_fetch_row()과 mysql_fetch_array의 차이점은 무엇입니까? (1점) mysql_fetch_array()는 mysql_fetch_row( ) 확장 버전입니다. 데이터를 숫자 인덱스로 배열에 저장하는 것 외에도 필드 이름을 키로 사용하여 데이터를 연관 인덱스로 저장할 수도 있습니다.
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("연결할 수 없습니다: " . mysql_error());
mysql_select_db("mydb"); $result = mysql_query("SELECT id, name FROM mytable");
while (row=mysqlfetcharray(result, MYSQL_ASSOC)) {
printf ("ID: %s 이름: %s", row["id "],row["name"]);
}
mysql_free_result
35. GD 라이브러리는 어떤 용도로 사용되나요? (1점)
동적 열기 이미지 처리 라이브러리
36. PHP에서 HTML 코드를 입력하는 몇 가지 방법을 알려주세요. (1점)
echo "{html}"
echo < {html} EOD; 37. 다음 중 파일을 열고 쓸 수 있는 함수는 무엇인가요? ? (1점) c (a) fget() (b) file_open() (c) fopen() (d) open_file() (a) $users[] = 'john'; (b) array_add($users,'john'); (c) array_push($users,' john') ; (d) $users ||= 'john'; $num = 10; function Multiply(){ num=num * 10; } multiply(); echo $num; ?> 테이블 이름 UserName Tel Content Date Zhang San 13333663366 대학 졸업 2006-10-11 Zhang San 13612312331 학부 졸업 2006-10-15 Zhang Si 021-5566556 6 기술 대학 졸업 고등학교 2006-10-15 위 질문에 따라 코드를 완성해 주세요: $mysql_db=mysql_connect("local","root","pass"); @mysql_select_db("DB",$mysql_db ); $sql = sprintf("select * from %s where UserName = '%s'", "테이블 이름", "Zhang San"); values=mysqlquery(sql); while(item= mysqlfetchqueryarray(values)) { echo sprintf("사용자 이름: %s, 전화번호 %s, 학력: %s, 졸업 날짜: %s", item['UserName'],item ['Tel' ], item['Content'], item['Date'] ); } 41. 다음 클래스를 어떻게 사용하고 그 의미를 설명하나요? 클래스 테스트{ function Get_test($num){ num=md5(md5(num)."En"); return $num; } } $test = new test() ; ret=test->Get_test(11); print_r($ret);exit; num을 MD5로 인코딩한 후 생성된 32비트 문자열 a1을 "En"으로 연결한 후 다시 MD5를 수행합니다. Coding 42 SQL 문 형식을 작성하세요: 삽입, 업데이트, 삭제(4점) 테이블 이름 사용자 이름 전화 내용 날짜 张三13333663366 대학 졸업 2006-10-11 张三136123123 3 1 학부 졸업 2006-10-15 장사 021-55665566 중공업 졸업 2006-10-15 (a) 새로운 기록이 있습니다(샤오왕 13254748547 고등학교 졸업 2007-05-06). 테이블에 추가하려면 테이블 이름 값에 삽입하세요('Xiao Wang', '13254748547', 'High School Graduation', '2007-05-06') (b) Zhang San의 값을 업데이트하려면 SQL 문을 사용하세요. 현재 시스템 시간 update 테이블 이름 세트 Date = GETDATE() where UserName = "Zhang San" (c) Zhang Si delete from 표시에서 UserName = "Zhang Si"라는 모든 레코드를 삭제하려면 작성하세요. 43. 데이터 유형의 의미를 적어주세요(int char varchar datetime text). varchar와 char의 차이점은 무엇입니까(2점) int 정수 유형 char 저장 고정 길이 varchar 저장 가변 길이 datetime 시간 텍스트는 가변 길이를 저장합니다. varchar는 가변 길이입니다. char(20) 고정 길이 44.MySQ 자동 증가 유형(일반적으로 테이블 ID 필드)은 (? ) 필드(1포인트) auto_increment 45. 다음 프로그램의 출력(1포인트) $b=201; $c=40; a=b>$c? 4:5; echo $a; 46. 변수가 설정되어 있는지 감지하는 함수가 있나요? (2점) isset() empty() 47. 총 결과 집합 수를 쿼리하는 함수는 무엇입니까? (1점) mysql_num_rows() 48, $arr = array('james', ' tom', 'symfony'); 첫 번째 요소 값(1포인트)을 인쇄하세요. print_r($arr[0]); reset($arr); print_r(current($arr) ); print_r(array_shift($arr)); 49. 41번 문제의 배열 값을 ','로 구분하여 문자열 출력(1포인트)으로 병합해 주세요 implode 50.a='abcdef'; a의 값을 빼고 첫 글자(1포인트)를 출력하세요 $a[0]; substr($a, 0, 1); 51.SQL Server/oracle 등의 데이터베이스에 PHP를 연결할 수 있나요?(1점) 예 기성 라이브러리가 있습니다 52. 3점) public private protected 53.php5의 생성자와 소멸자를 적어주세요(2점) public function construction() { } public function destruct() { } 프로그래밍 질문: 1. 표준 URL에서 파일 확장자를 최대한 효율적으로 추출하는 함수를 작성하세요 예를 들면 다음과 같습니다. : http://www.sina.com.cn/abc/de /fg.php?id=1 php 또는 .php
$url = "http: //www.sina.com.cn/abc/de/fg.php ?id=1"; arr=parseurl(url); pathArr=pathinfo(arr['path']); print_r( $pathArr['extension']); 3 두 파일의 상대 경로를 계산하는 함수를 작성하세요. $a = '/a/b/c/d/e.php' ; $b = '/a/b/12/34/c.php'; a에 대한 b의 상대 경로는 http://www.jb51.net/12/34/c여야 합니다. .php는 추가됩니다
$a = '/ a/b/c/d/e.php'; $b = '/a/b/12/34/c.php '; //conpath function sGetRelativePath( path,conpath) { pathArr=explode("/",path); conpathArr=explode("/", conpath); $dismatchlen = 0; for(i=0;i < ; count(pathArr);i++) { if(conpathArr[i] != pathArr[i]) { dismatchlen=count(pathArr) - $i; arrLeft=arrayslice(pathArr, $ i); break; } } ret=strrepeat("../",dismatchlen).implode( "/", $arrLeft); return $ret; } print_r (sGetRelativePath(b,a)); 3. 접는 사람.
function aGetAllFile($folder) { $aFileArr = array(); if(is_dir($folder)) { handler=opendir(folder); while((file=readdir(handle)) !== false) { //그렇거나..이면 건너뛰세요 if(file=="."||file == ". .") { 계속; } if(is_file(folder."/".file)) { aFileArr[]=file; } else if(is_dir(folder."/".file)) { aFileArr[file] = aGetAllFile(folder."/".file); } } closedir($handle); } return $aFileArr; } $path = "/home/test/sql"; print_r(aGetAllFile($path)); 위 내용은 제가 수집한 최신 면접 질문과 답변입니다. 모든 분들께 도움이 될 것 같습니다. 관련 자료: 8 PHP 면접 질문은 PHP에 대한 이해를 반영합니다. 위 내용은 PHP2017 최신 버전 인터뷰 질문(답변 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
38. 사용자 배열?(1포인트) b
39. 다음 프로그램은 (1점) 10
40. PHP를 사용하여 "Zhang"이라는 이름의 모든 사람을 찾는 간단한 쿼리를 작성합니다. San" 내용 및 인쇄(2점)

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는

이 튜토리얼은 PHP를 사용하여 XML 문서를 효율적으로 처리하는 방법을 보여줍니다. XML (Extensible Markup Language)은 인간의 가독성과 기계 구문 분석을 위해 설계된 다목적 텍스트 기반 마크 업 언어입니다. 일반적으로 데이터 저장 AN에 사용됩니다

JWT는 주로 신분증 인증 및 정보 교환을 위해 당사자간에 정보를 안전하게 전송하는 데 사용되는 JSON을 기반으로 한 개방형 표준입니다. 1. JWT는 헤더, 페이로드 및 서명의 세 부분으로 구성됩니다. 2. JWT의 작업 원칙에는 세 가지 단계가 포함됩니다. JWT 생성, JWT 확인 및 Parsing Payload. 3. PHP에서 인증에 JWT를 사용하면 JWT를 생성하고 확인할 수 있으며 사용자 역할 및 권한 정보가 고급 사용에 포함될 수 있습니다. 4. 일반적인 오류에는 서명 검증 실패, 토큰 만료 및 대형 페이로드가 포함됩니다. 디버깅 기술에는 디버깅 도구 및 로깅 사용이 포함됩니다. 5. 성능 최적화 및 모범 사례에는 적절한 시그니처 알고리즘 사용, 타당성 기간 설정 합리적,

숙련된 PHP 개발자라면 이미 그런 일을 해왔다는 느낌을 받을 것입니다. 귀하는 상당한 수의 애플리케이션을 개발하고, 수백만 줄의 코드를 디버깅하고, 여러 스크립트를 수정하여 작업을 수행했습니다.

문자열은 문자, 숫자 및 기호를 포함하여 일련의 문자입니다. 이 튜토리얼은 다른 방법을 사용하여 PHP의 주어진 문자열의 모음 수를 계산하는 방법을 배웁니다. 영어의 모음은 A, E, I, O, U이며 대문자 또는 소문자 일 수 있습니다. 모음이란 무엇입니까? 모음은 특정 발음을 나타내는 알파벳 문자입니다. 대문자와 소문자를 포함하여 영어에는 5 개의 모음이 있습니다. a, e, i, o, u 예 1 입력 : String = "Tutorialspoint" 출력 : 6 설명하다 문자열의 "Tutorialspoint"의 모음은 u, o, i, a, o, i입니다. 총 6 개의 위안이 있습니다

정적 바인딩 (정적 : :)는 PHP에서 늦은 정적 바인딩 (LSB)을 구현하여 클래스를 정의하는 대신 정적 컨텍스트에서 호출 클래스를 참조 할 수 있습니다. 1) 구문 분석 프로세스는 런타임에 수행됩니다. 2) 상속 관계에서 통화 클래스를 찾아보십시오. 3) 성능 오버 헤드를 가져올 수 있습니다.

PHP의 마법 방법은 무엇입니까? PHP의 마법 방법은 다음과 같습니다. 1. \ _ \ _ Construct, 객체를 초기화하는 데 사용됩니다. 2. \ _ \ _ 파괴, 자원을 정리하는 데 사용됩니다. 3. \ _ \ _ 호출, 존재하지 않는 메소드 호출을 처리하십시오. 4. \ _ \ _ get, 동적 속성 액세스를 구현하십시오. 5. \ _ \ _ Set, 동적 속성 설정을 구현하십시오. 이러한 방법은 특정 상황에서 자동으로 호출되어 코드 유연성과 효율성을 향상시킵니다.
