관련 추천: "2019 PHP 면접 질문 요약(모음) "
1 MySQL 데이터베이스는 출판 시스템의 저장소로 사용되며, 하루에 50,000개 이상의 항목이 증가할 것으로 예상됩니다. 3년 동안 운영 및 유지 관리하려면 어떻게 최적화해야 합니까?
a. 데이터베이스 구조를 잘 설계하고, 부분적인 데이터 중복을 허용하고, 조인 쿼리를 피하여 효율성을 높이세요.
b. 적절한 테이블 필드 데이터 유형과 스토리지 엔진을 선택하고 적절하게 인덱스를 추가합니다.
c. mysql 라이브러리는 마스터-슬레이브 읽기와 쓰기를 분리합니다.
d. 일반 테이블을 찾아 단일 테이블의 데이터 양을 줄여 쿼리 속도를 높입니다.
에. memcached, apc 등과 같은 캐싱 메커니즘을 추가합니다.
f. 자주 변경되지 않는 페이지에 대해 정적 페이지를 생성합니다.
g. 효율적인 SQL을 작성하세요. 예를 들어 SELECT * FROM TABEL은 SELECT field_1, field_2, field_3 FROM TABLE로 변경됩니다.
2 트래픽이 많은 웹사이트의 경우 페이지 방문 통계 문제를 해결하기 위해 어떤 방법을 사용합니까
a. 서버가 이를 지원할 수 있습니다. 현재 방문.
b. 데이터베이스 액세스를 최적화합니다.
c. 사진의 핫링크 등 링크(핫링크)에 대한 외부 접근을 금지합니다.
d. 파일 다운로드를 제어합니다.
e. 다른 호스트를 사용하여 트래픽을 분산합니다.
f. 탐색 통계 소프트웨어를 사용하여 방문 횟수를 파악하고 타겟 최적화를 수행합니다.
3 웹 페이지의 모든 JS/VBS 스크립트를 필터링하는 정규식을 작성합니다(즉, 태그와 해당 내용을 제거합니다)
답변:
PHP
/<[^>].*?>.*?<\/>/si
4 PHP를 사용하여 시간 형식을 인쇄합니다. 전날의 2006-5-10 22:21:21
답변: echo date('Y-m-d H:i:s', strtotime('-1 day'));
5 echo(),print (),print_r( )
답변: echo는 반환 값이 없는 언어 구조입니다. print가 반환 값이 있는 함수라는 점을 제외하면 print 함수는 기본적으로 echo와 동일합니다. print_r은 배열 객체를 출력하는 데 사용됩니다.
6문자열 뒤집기를 구현하는 방법은 무엇입니까?
답변: strrev 함수를 사용하세요. PHP에 내장된 함수를 사용할 수 없습니다. 직접 작성하세요.strrev($str) { $len=strlen($str); $newstr = ''; for($i=$len;$i>=0;$i--) { $newstr .= $str{$i}; } return $newstr; }
깨진 문자 없이 중국어 텍스트 문자열을 가로채는 방법입니다.
답변: mb_substr()8PHP 환경 변수를 사용하여 웹페이지 주소의 내용을 가져오는 방법은 무엇입니까? IP 주소를 얻는 방법?
답변: $_SERVSR['REQUEST_URI'], $_SERVER['REMOTE_ADDR']92007-2-5 ~ 2007-3-6 사이의 날짜 차이 등 두 날짜의 차이를 찾아보세요
답변: (strtotime('2007-3-6')-strtotime('2007-2-5'))/3600*2410자바스크립트를 통해 창이 차단되었는지 판단하는 방법
답변: open()의 반환 값을 가져옵니다. null이면 차단됩니다