> 백엔드 개발 > PHP 튜토리얼 > PHP 인터뷰 질문과 답변

PHP 인터뷰 질문과 답변

WBOY
풀어 주다: 2016-07-25 08:53:45
원래의
1420명이 탐색했습니다.
  1. $a = date("y-m-d h:i:s", strtotime("-1 day"));
  2. print_r($a);
코드 복사

2. echo(), print(), print_r()의 차이점 (3점)

  1. echo와 print는 함수가 아니라 언어 구조입니다.
  2. int print(string $arg), 단 하나의 매개변수
  3. echo arg1, arg2 ; 여러 매개변수를 출력하고 void를 반환할 수 있습니다
  4. echo 및 print는 구조가 아닌 문자열만 인쇄할 수 있습니다
  5. print_r은 구조를 인쇄할 수 있습니다
  6. 예를 들어
  7. $arr = array("key"=> ; "value");
  8. print_r($arr);
코드 복사

3. html, php와 별도로 활용 가능한 템플릿 (1점) 똑똑해,phplib 4. 버전 관리를 위해 어떤 도구가 사용되나요?(1점) svn,git,cvs 5. 문자열 뒤집기를 구현하는 방법은 무엇입니까? (3점) 영어: strrev($a) 중국어 또는 기타 텍스트: 중국어: gb2312, 코드는 gb2312를 사용하여 인코딩됩니다.

  1. 함수 reverse($str)
  2. {
  3. $ret = ""
  4. len=mbstrwidth (str,"gb2312");
  5. for(i=0;i< leni )
  6. {
  7. arr[]=mbsubstr(str, $i, 1, "gb2312");
  8. }
  9. return implode("", array_reverse($arr));
  10. }
  11. print_r(reverse("Hello"));
코드 복사

6. mysql 데이터베이스를 최적화하는 방법. (4점, 더 많이 쓰고 더 많이 얻으세요) 문장의 관점에서 보면: 1 인덱스를 사용하여 쿼리 효율성 높이기 2 쿼리문 최적화 및 인덱스 적중률 향상 관련된 데이터베이스 측면: 1 데이터베이스의 저장 및 확장 기능을 향상시키기 위해 하위 데이터베이스 및 테이블을 구성합니다. 2 필요에 따라 다른 스토리지 엔진을 사용하십시오. 7. php의 의미 (1포인트 보내기) 하이퍼텍스트 전처리 언어 하이퍼텍스트 전처리기 8. 현재 시간을 가져오는 MySQL의 기능은 무엇이며, 날짜 형식을 지정하는 기능은 무엇입니까? (2점)

  1. current_timestamp()
  2. date_format()
  3. select date_format("2011-11-21 10:10:10", "%y- %m-%d");
코드 복사

9. 중국어 텍스트 문자열을 문자 깨짐 없이 가로채는 방법. (3점) mb_substr($str, 1, 1, "gb2312"); 10. 버전 관리 소프트웨어를 사용해 본 적이 있습니까? 그렇다면, 사용한 버전 관리 소프트웨어의 이름은 무엇입니까? (1점) svn 자식 11. 템플릿 엔진을 사용해 본 적이 있습니까? 그렇다면 사용한 템플릿 엔진의 이름은 무엇입니까? (1점) 똑똑하다 12. 가장 뿌듯했던 개발 작업을 간략하게 설명해주세요(4점) 트리플 엑스 13. 트래픽이 많은 웹사이트의 경우, 트래픽 문제를 해결하기 위해 어떤 방법을 사용하시나요? (4점) 1 캐시를 효과적으로 사용하여 캐시 적중률을 높입니다. 2 로드 밸런싱 사용 3 CDN을 사용하여 정적 파일 저장 및 가속화 데이터베이스 사용량을 줄이는 4가지 아이디어 5 통계 병목 현상이 발생하는 위치를 확인하세요. 14. PHP를 사용하여 클라이언트 IP와 서버 IP를 표시하는 코드 작성(1점) $_server["remote_addr"] $_server["서버_주소"] 15. include 문과 require 문 사이의 차이점은 무엇입니까? 동일한 파일을 여러 번 포함하지 않으려면 (?) 문으로 대체할 수 있습니까? (2점) 실패 시: include는 경고를 생성하고, require는 오류 인터럽트를 직접 생성합니다. 실행하기 전에 require가 로드됩니다. include는 런타임에 로드됩니다. require_once include_once 16. 세션 생존 시간을 수정하는 방법(1점). session_set_cookie_params 17. Scripting School 홈페이지와 같은 웹페이지 주소가 있습니다: http://bbs.it-home.org/index.html, 콘텐츠를 얻는 방법($1 포인트) file_get_contents 컬 18. http 1.0에서 상태 코드 401의 의미는 (?)이고, "파일을 찾을 수 없습니다"라는 프롬프트가 반환되면 헤더 기능을 사용할 수 있으며 해당 명령문은 (?)입니다. 승인되지 않은 header("http/1.0 404 찾을 수 없음"); 빠른 CGI에서는: header("상태: 404 찾을 수 없음"); 19. PHP에서 heredoc은 특수 문자열이며 끝 표시는?(1포인트)이어야 합니다. 쌍으로 나타나다 $a = <

  1. $str = "jianfeng@126.com";
  2. regex="([a?z0?9.?] )@([da ?z.?] ).([a?z.]2,6)" ; //일반
  3. return preg_match(regex,str)
코드 복사

26. 획득한 매개변수를 포함하여 현재 실행 스크립트 경로를 가져오는 방법을 간략하게 설명합니다. (2점) $argc -- 매개변수 개수를 가져옵니다. $argv -- 매개변수 목록을 가져옵니다. 27.세션 생존 시간을 수정하는 방법 (1점) session_set_cookie_params 28. js 형식으로 대화상자를 띄우는 기능은 무엇인가요?(2점) 알리다() 확인하다() 즉각적인() 집중하다() 29. js의 리다이렉션 기능은 무엇인가요? (2점) window.location.href="#"

30. foo()와 @foo()의 차이점은 무엇입니까? (1점) @는 무시할 모든 경고를 나타냅니다. 31. 메소드와 속성 없이 "myclass"라는 클래스를 선언하는 방법은 무엇입니까? (1점) 클래스 마이클래스 { } 32. "myclass"라는 개체를 인스턴스화하는 방법은 무엇입니까? (1점) $myclass = 새로운 myclass(); 33. 클래스의 속성에 어떻게 접근하고 설정하나요? (2점)
  1. class a
  2. {
  3. 공개 $name = "a";
  4. }
  5. $a = new a();
  6. n=a->name;
  7. print_r($n);
코드 복사

34. mysql_fetch_row()와 mysql_fetch_array의 차이점은 무엇인가요? mysql_fetch_array()는 mysql_fetch_row()의 확장 버전입니다. 데이터를 숫자 인덱스로 배열에 저장하는 것 외에도 필드 이름을 키로 사용하여 데이터를 연관 인덱스로 저장할 수도 있습니다.
  1. mysql_connect("localhost", "mysql_user", "mysql_password") 또는
  2. die("연결할 수 없습니다: " . mysql_error());
  3. mysql_select_db("mydb");
  4. $result = mysql_query("select id, name from mytable");
  5. while (row=mysqlfetcharray(result, mysql_assoc)) {
  6. printf("id: %s 이름: %s", row["id"],row["name"]);
  7. }
  8. mysql_free_result($result);
코드 복사

35. gd 라이브러리는 어떤 용도로 사용되나요? (1점) 동적 개방형 이미지 처리 라이브러리 36. PHP에서 HTML 코드 조각을 입력하는 몇 가지 방법을 지적하십시오. (1점)
  1. echo "{html}"
  2. echo <{html}
eod;
코드 복사

37. 다음 중 파일을 열어서 파일을 읽고 쓸 수 있는 함수는 무엇입니까? (1점) c (a) fget() (b) file_open() (c) fopen() (d) open_file() 38. 다음 중 사용자 배열에 john을 추가하지 않는 옵션은 무엇입니까? (1점) b
  1. (a) $users[] = 'john';
  2. (b) array_add($users,'john');
  3. ( c) array_push($users,'john');
 (d) $users ||= 'john';
코드 복사

39. 프로그램이 입력되나요? (1점) 10
  1. $num = 10;
  2.  function Multiply(){
  3.  num=num * 10;
  4. }
  5. Multiply();
  6. echo $num;
코드 복사

40. PHP를 사용하여 간단한 쿼리를 작성해 알아보세요. 모두 "Zhang San"이라는 이름의 내용을 인쇄하세요 (2점) 테이블 이름 사용자 이름 전화 내용 날짜 장산 13333663366 대학 졸업 2006-10-11 장산 13612312331 학사 2006-10-15 장사 021-55665566 중등공업학교 졸업 2006-10-15 위 질문에 따라 코드를 완성해 주세요.
  1. $mysql_db=mysql_connect("local","root","pass");
  2. @mysql_select_db("db",$mysql_db);
  3. $sql = sprintf("select * from %s where username = '%s'",
  4. "테이블 이름",
  5. "Zhang San");
  6. value=mysqlquery(sql);
  7. while(item=mysqlfetchqueryarray(values))
  8. {
  9. echo sprintf("사용자 이름: %s, 전화번호 %s, 학력: %s, 졸업 날짜: %s",
  10. item[ ′username′],item['tel'], item[′content′],item['date']
  11. );
  12. }
코드 복사

41. 다음 클래스를 사용하고 그 의미를 설명하는 방법은 무엇입니까?
  1. 클래스 테스트{
  2. 함수 get_test($num){
  3. num=md5(md5(num)."en");
  4. $num 반환
  5.  }
  6. }
  7. $test = new test();
  8. ret=test->get_test(11);
  9. print_r($ret);exit;
코드 복사

num의 md5 인코딩 후 생성된 32비트 문자열 a1을 "en"으로 연결한 후 다시 md5 인코딩을 수행합니다. 42. SQL 문 형식 작성: 삽입, 업데이트, 삭제(4점) 테이블 이름 사용자 이름 전화 내용 날짜 장산 13333663366 대학 졸업 2006-10-11 장산 13612312331 학사 2006-10-15 장사 021-55665566 중등공업학교 졸업 2006-10-15 (a) 새로운 기록이 있습니다(Xiao Wang 13254748547 고등학교 졸업 2007-05-06). SQL 문을 사용하여 테이블에 추가하세요. 테이블 이름 값에 삽입('Xiao Wang', '13254748547', 'High School Graduation', '2007-05-06') (b) SQL 문을 사용하여 Zhang San의 시간을 현재 시스템 시간으로 업데이트하세요. 업데이트 테이블 이름 설정 날짜 = getdate() 여기서 사용자 이름 = "Zhang San" (c) Zhang Si라는 이름의 모든 기록을 삭제하려면 편지를 보내주세요. 삭제 위치는 사용자 이름 = "Zhang Si"임을 나타냅니다. 43. 데이터 유형(int char varchar datetime text)의 의미를 적어주세요. varchar와 char의 차이점은 무엇입니까(2점) int 정수형 char 저장 고정 길이 varchar 저장 가변 길이 날짜/시간 텍스트는 가변 길이를 저장합니다. varchar는 가변 길이입니다. char(20) 고정 길이 44. mysq 자동 증가 유형(보통 테이블 ID 필드)은 (?) 필드(1포인트)로 설정되어야 합니다. 자동 증가 45. 다음 프로그램의 출력을 쓰십시오(1점). ​$b=201; ​$c=40; a=b>$c?4:5; 에코 $a; ?> 4

46. 변수가 설정되어 있는지 감지하는 함수가 있나요? (2점) isset() 비어 있는() 47. 총 쿼리 결과 세트 수를 가져오는 기능은 무엇입니까? (1점) mysql_num_rows() 48.

  1. $arr = array('james', 'tom', 'symfony'); 🎜>print_r($arr[0]);
  2. reset($arr);
  3. print_r(current($arr));
  4. print_r(array_shift($arr))(프로그래머 홈 bbs .it -home.org 편집 및 정리)
코드 복사
49. 41번 문제의 배열 값을 ',' 기호로 구분하여 병합해 주세요. 문자열로 출력(1포인트) 파열하다 50. a=′abcdef′; a의 값을 빼내고 첫 글자(1포인트)를 출력해주세요. $a[0]; substr($a, 0, 1); 51. SQL Server/oracle 등의 데이터베이스에 PHP를 연결할 수 있나요? (1점) 할 수 있다 기성 라이브러리가 있습니다 52. php5 권한 제어 수식어를 적어주세요(3점) 공공의 사적인 보호됨 53. php5의 생성자와 소멸자를 적어주세요 (2점) 공개 함수 __construct() { } 공개 함수 __destruct() { } 프로그래밍 질문 ​ 1. 표준 URL에서 파일 확장자를 최대한 효율적으로 검색하는 함수를 작성하세요. 예: http://www.sina.com.cn/abc/de/fg.php?id=1 php 또는 .php를 제거해야 합니다.

  1. $url = "http://www.sina.com.cn/abc/de/fg.php?id =1";
  2. arr=parseurl(url);
  3. patharr=pathinfo(arr['path']);
  4. print_r($patharr['extension']);
코드 복사
3. 두 파일의 상대 경로를 계산하는 함수를 작성하세요. 예를 들어 $a = '/a/b/c/d/e.php'; $b = '/a/b/12/34/c.php'; a에 대한 b의 상대 경로를 계산하면 http://www.cnblogs.com/12/34/c.php가 추가됩니다.

  1. $a = '/a/b/c/d/e.php';
  2. $b = ' /a/b/12/34/c.php';
  3. //conpath에 상대적인 경로의 상대 경로 가져오기
  4. function sgetrelativepath(path,conpath)
  5. {
  6. patharr=explode(" / ",path);
  7. conpatharr=explode("/",conpath);
  8. $dismatchlen = 0;
  9. for(i=0;i < count(patharr);i )
  10. {
  11. if(conpatharr[i] != patharr[i])
  12. {
  13. dismatchlen=count(patharr) - $i;
  14. arrleft=arrayslice(patharr, $i);
  15. break ;
  16. }
  17. }
  18. ret=strrepeat("../",dismatchlen).implode("/", $arrleft);
  19. return $ret;
  20. }
  21. print_r (sgetrelativepath(b,a));
코드 복사
3. 폴더의 모든 파일과 하위 폴더를 탐색할 수 있는 함수를 작성합니다.

  1. function ageallfile($folder)
  2. {
  3. $afilearr = array();
  4. if( is_dir($folder))
  5. {
  6. handler=opendir(folder);
  7. while((file=readdir(handle)) !== false)
  8. {
  9. //그렇다면. 아니면.. 그런 다음
  10. if(file=="."||file == "..")
  11. {
  12. continue;
  13. }
  14. if(is_file(folder." / ".file))
  15. {
  16. afilearr[]=file;
  17. }
  18. else if(is_dir(folder."/".file))
  19. {
  20. afilearr[file ] = ageallfile(folder."/".file);
  21. }
  22. }
  23. closeir($handle);
  24. }
  25. return $afilearr;
  26. }
  27. $path = "/home/test/sql";
  28. print_r(agetallfile($path));
코드 복사

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿