Última entrevista do PHP para 2020, 100 perguntas (2)

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;)

Insira a descrição da imagem aqui

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」

Insira a descrição da imagem aqui

Insira a descrição da imagem aqui


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

Acho que você gosta

Origin blog.csdn.net/weixin_49163826/article/details/108954912
Recomendado
Clasificación