35. Fale-me sobre o seu entendimento do SVN? Prós e contras?
O SVN é um controlador de versão, cujo código desenvolvido pelo programador é submetido ao servidor de versão para gerenciamento centralizado.
As vantagens do SVN: gerenciamento centralizado de código, fácil controle de versão, operação relativamente simples e controle de acesso conveniente.
Desvantagem: Você não pode modificar a pasta do projeto do servidor à vontade.
Clique para entrar no meu grupo de pinguins
36. Como encontrar o caminho do PHP.ini?
Geralmente, está no diretório de instalação do php ou no diretório do Windows do sistema de janelas.
37. Modo / extensão de aceleração do PHP? Modo / ferramenta de depuração do PHP?
Zend Optimizer acelera expansão
Ferramenta de depuração: xdebug
38. Qual comando mysql você usa com freqüência?
Show databases
Show tables
Insert into 表名() values()
Update 表名 set 字段=值 where ...
Delete from 表名 where ...
Select * from 表名 where 条件 order by ... Desc/asc limit ... Group by ... Having ...
39. O comando para entrar na linha de comando de gerenciamento do mysql?
Mysql -uroot -p Digite a senha
40. show databases; O que este comando faz?
Mostra quais bancos de dados estão atualmente no servidor mysql
41. show create database mysql; O que este comando faz?
Mostra a instrução sql para criar o banco de dados
42. show create table user; O que este comando faz?
Mostre a instrução SQL para criar a tabela
43. desc user; O que este comando faz?
Consultar a estrutura da tabela do usuário
44. explicação select * from user; O que este comando faz?
Obtenha informações sobre selecionar
45. show processlist; O que este comando faz?
Mostrar quais threads estão em execução
46. MOSTRAR VARIÁVEIS; O que este comando faz?
Exibir variáveis e valores do sistema
47. MOSTRAR VARIÁVEIS como '% conn%'; O que este comando faz?
Mostra o valor do nome da variável do sistema contendo conn
48. LEFT JOIN escrever uma instrução SQL?
SELECT A.id,A.class FROM A LEFT JOIN B ON A.cid=B.id
49. A função e a diferença de in, not ni, existe, não existe?
-
em em que
-
Não em
-
Existe
-
Não existe
50. Como encontrar o caminho do arquivo de configuração do banco de dados?
No diretório de instalação do banco de dados, my.ini
51. Descreva resumidamente o processo de instalação do PHP no Linux?
Instale as ferramentas de compilação gcc, gcc-c ++ antes de instalar o software
Copie o pacote fonte, descompacte e descompacte
Cd / lamp / php entra no diretório php
./configure --prefix = / usr / local / php --with-config-file-path = / usr / local / php / etc Especifique o diretório de instalação e o diretório do arquivo de configuração
Faça compilar
Faça a instalação
52. Descreva resumidamente o processo de instalação do Mysql no Linux?
Groupadd mysql adiciona um grupo de usuários mysql
Useradd -g mysql mysql adiciona um grupo especificado pelo usuário mysql como mysql
Cd / lamp / mysql entre no diretório mysql
./configure –prefix = / usr / local / mysql / –with-extra-charsets = all
Faço
Faça tudo
53. Descreva resumidamente o processo de instalação do apache no Linux?
Cd / lamp / httpd no diretório do software apache
./configure –prefix = / usr / local / apache2 / –sysconfdir = / etc / httpd / –with-included-apr
Faço
Faça tudo
HTML / CSS / DIV / Javascritp:
54. Projete uma página (4 divs, o primeiro div tem 960 px de largura e é centralizado; os 2-4 divs são divididos em 3 partes iguais de 960 px;)
55. Obtenha o valor de uma entrada com javascript? Obtenha os atributos de uma entrada?
document.getElementById(‘name’).value;
document.getElementById(‘name’).type;
56. Use Jquery para obter um valor de entrada? Obtenha os atributos de uma entrada?
$(“input[name='aa']“).val();
$(“input[name='aa']“).attr(‘type’);
57. Escreva um código js enviado pelo ajax ou escreva a lógica do processo de envio do ajax.
var xmlhttp;
if(window.XMLHttpRquest){
xmlhttp=new XMLHttpRequest();
}else if(window.ActiveXObject){
xmlhttp=new ActiveXObject(‘Microsoft.XMLHTTP’);
}
xmlhttp.open(‘GET’,’1.php?aa=name’,true);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
var text=xmlhttp.responseText;
}
}
}
xmlhttp.send(null);
58. Descreva resumidamente a configuração de cookies e o processo de aquisição
Defina o valor de COOKIE:
Setcookie (nome, valor, economizar tempo, domínio válido);
Obtenha o valor: $ _COOKIE ['name'];
59. A diferença entre interface e classe abstrata em cenários orientados a objetos e aplicativos?
-
Uma classe com métodos abstratos é chamada de classe abstrata.Uma classe abstrata não tem necessariamente apenas métodos abstratos.Métodos abstratos devem ser definidos usando a palavra-chave abstract.
-
Todas as interfaces são métodos abstratos e os métodos não precisam ser definidos em abstrato.
-
Quando várias classes homogêneas precisam projetar uma camada superior, geralmente é projetada como uma classe abstrata.Quando várias classes heterogêneas precisam projetar uma camada superior, geralmente é projetada como uma interface.
Orientado a objetos para perceber que um objeto herda objetos B e C
Interface B{
... }
Interface C{
... }
Class A implements B,C{
... }
60. Escreva suas palavras-chave mais comumente usadas no motor de template Smarty
Assign Display Foreach
Section Loop Item
$smarty Now Const get
61. Adicione um campo gênero sexo e escreva uma declaração de modificação
Alert table user add sex enum(’0′,’1′);
62. Consulte usuários com idade entre 20 e 30 anos
Select * from user where age>20 and age<30
63. Se for uma consulta frequentemente acessada na Web, como otimizar a consulta na pergunta acima?
Você pode criar um índice no campo age atrás de onde, ou você pode criar um procedimento armazenado para a instrução.
64. Qual é a diferença entre echo (), print (), print_r ()?
-
Echo, print é uma instrução PHP, print_r é uma função,
-
Print () só pode imprimir o valor de variáveis de tipo simples (como int, string) e tem um valor de retorno.
-
print_r () pode imprimir o valor de variáveis de tipo complexo (como arrays, objetos)
-
echo produz uma ou mais strings, sem valor de retorno
65. Qual é a tecnologia de template, o template que pode fazer HTML e PHP serem usados separadamente?
A tecnologia de modelo é uma tecnologia que separa o código lógico e a interface do programa.
Os modelos que podem separar HTML e PHP são: Smarty, Template, PHPlib Template, FastTemplate
66. Para sites com grande tráfego, qual método você usa para resolver o problema de tráfego?
Otimize o programa e otimize o banco de dados. Se o programa e o banco de dados foram otimizados, use as seguintes soluções:
-
Determine se o equipamento do servidor atual atende à demanda de tráfego.
-
Usando a tecnologia de armazenamento em cache do Memcache, o conteúdo dinâmico é armazenado em cache em arquivos e as páginas da web dinâmicas chamam diretamente esses arquivos sem ter que acessar o banco de dados.
-
Hotlinking externo é proibido. Hotlinking externo de imagens e arquivos colocará muita pressão de carga no servidor. Você pode proibir hotlinking externo por meio de referência ou usar o apache para configurar a proibição de hotlinking
-
Controle o download de arquivos grandes. Para discos rígidos não SCSI, o download de arquivos grandes consumirá muitos recursos e fará com que a capacidade de resposta do servidor diminua.
-
Use hosts diferentes para dividir o tráfego principal para equilibrar a carga do servidor.
-
Usando um software de estatísticas de tráfego para analisar as estatísticas de tráfego do site, você pode saber quais lugares consomem muito tráfego e quais páginas precisam ser otimizadas.
67. Qual é a diferença entre mysql_fetch_row () e mysql_fetch_array?
Mysql_fetch_row () pega uma linha do conjunto de resultados como um array enumerado, e mysql_fetch_array () pega uma linha do conjunto de resultados como um array de índice ou um array associativo ou ambos.
68. Um método para realizar a interceptação de string de caracteres chineses sem caracteres ilegíveis
Mb_substr ();
69. Use PHP para escrever o código que exibe o IP do cliente e o IP do servidor
Obtenha o IP do cliente: $ _SERVER ("REMOTE_ADDR");
Obtenha o IP do lado do servidor: $ _SERVER ["SERVER_ADDR"];
70. Há um endereço de página da web, como a página inicial da PHP Development Resource Network: http://www.phpres.com/index.html, como obter seu conteúdo?
Obtenha conteúdo da web:
$url=”http://www.phpres.com/index.html“;
$str=file_get_contents($url);
或 $ch=curl_init();
curl_setopt($ch,CURLOPT_URL,’’);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_exec($ch);
curl_close($ch);
71. Escreva uma função para verificar se o formato do e-mail está correto
function checkemail($email){
echo preg_match(‘/^[0-9a-zA-Z-]+@[0-9a-zA-Z-]+\.[0-9a-zA-Z]+$/’,$email)?’email格式正确‘:’email格式不正确‘;
}
72. Descreva resumidamente como obter o caminho do script de execução atual, incluindo os parâmetros obtidos
用SERVIDOR [′ SCRIPTFILENAME ′]. _SERVER ['SCRIPT_FILENAME'].SE R V E R [′ SCRIPTFI L E N A M E′ ]._SERVER ['REQUEST_URI']; Pega o caminho completo e os parâmetros da página atual.
Obtenha os parâmetros: $ _SERVER ['QUERY_STRING'];
73. Qual é a função da caixa de diálogo pop-up do formulário JS? Qual é a função de obter o foco de entrada?
Alert(); focus();
74. Escreva uma função para calcular o caminho relativo de dois arquivos
如 $ a = '/a/b/c/d/e.php';
$ b = '/a/b/12/34/c.php';
Calcule o caminho relativo de $ b em relação a $ a deve ser http://www.cnblogs.com/c/d add ()
$a=”http://www.cnblogs.com/a/b/c/d/e.php”;
$b=”http://www.cnblogs.com/a/b/12/34/c.php”;
$ainfo=parse_url($a);
$binfo=parse_url($b);
$apath=ltrim($ainfo['path'],'/');
$bpath=ltrim($binfo['path'],'/');
$arr=explode('/',$apath);
$brr=explode('/',$bpath);
$flag=false;
for($i=0;$i
if($arr[$i]!==$brr[$i]){
$ab[$i]='..';
if(!$flag){
for($j=$i;$j
$bb[]=$brr[$j];
}
$flag=true;
}
}
}
$cha=array_merge($ab,$bb);
$cha=implode('/',$cha);
print_r($cha);
75. Escreva uma função que pode percorrer todos os arquivos e subpastas em uma pasta.
function my_scandir($dir){
$files = array();
if ( $handle = opendir($dir) ){
while ( ($file = readdir($handle)) !== false ) {
if ( $file != ".." && $file != "." ) {
if ( is_dir($dir . "/" . $file) ) {
$files[$file] = scandir($dir . "/" . $file);
}else {
$files[] = $file;
}
}
}
closedir($handle);
return $files;
}
}
76. Existem vários tipos de índices de banco de dados e quais são eles? Quando devo usar um índice?
Índice comum, índice de chave primária, índice exclusivo
Nem todos os bancos de dados usam índices da mesma maneira. Como regra geral, você só precisa criar um índice em uma tabela quando consulta frequentemente os dados em uma coluna.
Preste atenção, não se perca
Tudo bem, pessoal, o acima é todo o conteúdo deste artigo. As pessoas que podem ver aqui são todos talentos . Como eu disse antes, há muitos pontos técnicos em PHP, porque são muitos, é realmente impossível escrever, e você não vai ler muito depois de escrever, então irei organizá-los em PDF e documentos aqui, se necessário lata
Clique para inserir o código secreto: PHP + 「Plataforma」
Para obter mais conteúdo de aprendizado, você pode visitar o Catálogo [Comparative Standard Factory] de Tutoriais de Excelente PHP Architect, contanto que você possa lê-lo para garantir que o salário suba um nível (atualização contínua)
O conteúdo acima espera ajudar a todos . Muitos PHPers sempre encontram alguns problemas e gargalos quando são avançados. Não há nenhum senso de direção ao escrever muito código comercial. Não sei por onde começar a melhorar. Compilei algumas informações sobre isso, incluindo Mas não se limitando a: arquitetura distribuída, alta escalabilidade, alto desempenho, alta simultaneidade, ajuste de desempenho do servidor, TP6, laravel, YII2, Redis, Swoole, Swoft, Kafka, otimização Mysql, scripts de shell, Docker, microsserviços, Nginx etc. Muitos pontos de conhecimento, produtos secos avançados avançados, podem ser compartilhados com todos gratuitamente, e aqueles que precisam podem se juntar ao meu grupo de intercâmbio de tecnologia PHP