|
Recentemente, entrevistei várias empresas uma após a outra e gravei algumas perguntas importantes, me incentivando a estudar e melhorar, e ao mesmo tempo esperando ajudar meus amigos. Há muito conteúdo, pouco a pouco, aprendizado passo a passo. Alguns são questionados em entrevistas, outros são requisitos de recrutamento e alguns são adicionados sozinhos.
1. Conhecimento relacionado ao MySQL 1. Método de otimização MySQL Métodos comuns de otimização com MYSQL Esquema de otimização de desempenho MySQL
2. Como dividir o banco de dados e as tabelas Referência: http://blog.sina.com.cn/s/blog_6e322ce70100zs9a.html http://www.jb51.net/article/29771.htm 3. Como fazer standby a quente em duas máquinas e balanceamento de carga no Mysql+
http://www.dewen.org/q/51/Mysql+如何做双机热备和负载均衡
4. Quais são os tipos de tabelas de dados? MyISAM, InnoDB, HEAP, BOB, ARCHIVE, CSV, etc MyISAM: Maduro, estável, fácil de administrar, rápido de ler. Alguns recursos não são suportados (transações, etc.), bloqueios em nível de tabela. InnoDB: Suporta transações, chaves estrangeiras e bloqueios de linha. Ele ocupa muito espaço e não suporta indexação de texto completo. Principais características dos motores myisam e Innodb: Qual é a diferença entre o mecanismo de armazenamento MySQL, MyISAM, e o InnoDB? 5. Método de injeção Anti-SQL mysql_escape_string(strip_tags($arr["$val"])); 6. Como resolver o problema de eficiência de consultas de tabelas cruzadas após o mysql dividir uma grande tabela em múltiplas tabelas [php] ver cópia simples Veja fatias de código derivadas dos meus fatios de código no CODE /** * Nome da função: post_check() * Função função: Processa as edições submetidas * Parâmetro: $post: O conteúdo a ser enviado * Valor de retorno: $post: Retorna conteúdo filtrado */ função post_check($post){ if(!get_magic_quotes_gpc()){// Determine se o magic_quotes_gpc está aberto $post = barras adicionais($post); Realize magic_quotes_gpc filtragem dos dados enviados sem abrir } $post = str_replace("_","\_", $post); Filtrar '_' $post = str_replace("%","\%", $post); Filtre '%' $post = nl2br($post); Entra a conversão $post = htmlspecialchars($post); Conversão de marcação HTML retorno $post; } 7. Aplicação de índice Quando considerar a indexação Quais situações não são adequadas para indexação Como julgar se uma afirmação usa um índice Cenários frequentes em que índices não são usados: tipo '%.....' Conversão implícita de tipos de dados ou palavras-chave mais outras condições Índice do Texto Completo: Só pode ser usado para tabelas MYIsAM, criadas em colunas do tipo CHAR, VARCHAR, TEXT.
8. Como otimizar o MySQL para tabelas grandes (dezenas de milhões)? Referência http://www.zhihu.com/question/19719997 9. Problema de consulta lenta do mysql Na verdade, é uma forma relativamente simples de analisar por meio de logs de consulta lentos; se você não quiser ver os logs, pode usar ferramentas para completá-lo. Como mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter, etc., parece que você precisa de muita experiência para analisar um, e é perda de tempo. 10. Sobre as vantagens e desvantagens do status de login do usuário, sessão, cookie, banco de dados ou http://www.dewen.org/q/11504/ Sobre o status de login do usuário, as vantagens e desvantagens do sessão%2Ccookie, banco de dados ou memcache 11. Casos extremos são tratados em transações 12. SQL idioma é dividido em 4 categorias, por favor, liste DDL — CRIAR, DESCARTAR, ALTERAR DML--INSERIR, ATUALIZAR, EXCLUIR DQL-SELECT DCL--CONCEDER, REVOGAR, COMPROMETER, REVERTER
2. PHP noções básicas Sessão Várias formas e diferenças entre a conexão do PHP a bancos de dados MySQL MySQL: Orientado a Processos MySQLI: Orientado a Objetos PDO: Alta portabilidade Por favor, consulte: PHP Basic Series: Três APIs Usadas pelo PHP para Conectar a Bancos de Dados MySQL 3. PHP Avançado Uso de conexões longas e curtas Soquete Questões de segurança de pagamentos Orientado a objetos Três características principais: encapsulamento, herança e polimorfismo (reescrita de métodos). Classe abstrata: abstrato, pelo menos um método é um método abstrato que não pode ser instanciado, definindo uma interface comum para a subclasse. Interface: interface, resolva o problema de herança única do PHP, todos os métodos são métodos abstratos de acesso público, você não pode declarar variáveis, apenas constantes. Herdar uma classe ao implementar múltiplas interfaces a classe A estende B implementa interface 1, interface 2..., interface n() { Implementar métodos em todas as interfaces } Análise das causas das diferenças de desempenho entre as arquiteturas de sites LAMP e LNMP Análise de desempenho de linguagens interpretadas e compiladas, exemplos. 4. Regularidade Correspondência de e-mail, html, js, etc. 5. Fundação de desenvolvimento Definições, distinções e conexões de processos e threads. O estado do processo: corre, pronto, espera 6. Banco de dados Nosql Conexões diferenciadas Memcached, Redis, Mongodb 3 cenas, coisas completamente diferentes. 1.memcached: Se um único valor de chave estiver armazenado em cache na memória, não há substituto para cache de objetos no cache distribuído; 2. redis: É uma coleção de algoritmos e estruturas de dados, a operação rápida de estruturas de dados é sua maior característica, suportando persistência de dados; 3. MongoDB é uma estrutura BSON, entre RDB e NoSQL, que é mais flexível e flexível, mas não suporta transações e é usada apenas como um armazenamento de dados não importante. Posso me referir ao MongoDB ou ao redis como alternativa ao memcached? 7. Comandos Linux comumente usados Por exemplo, soft links 8. Relacionado à arquitetura Teste de estresse antes do projeto entrar em funcionamento, o número de concorrências suportadas por um único servidor e o número de PVs. Alocação razoável de recursos do servidor CPU:Apache Em um ambiente de alta carga, leituras e gravações em excesso de IO em disco certamente vão consumir muitos recursos, e a CPU inevitavelmente vai consumir muita CPU. Memória: Banco de memória, software de banco de dados
Disco Rígido: Arquivos Seleção da arquitetura Web2.0 MongoDB+Redis ou MySQL+Memcached é uma combinação melhor, e NOSQL é usado para lógica simples A arquitetura principal do site é atualmente popular LÂMPADA、LNMP、LLMP Atualmente, também existe uma arquitetura LNAMP na rede, ou seja, ela combina as vantagens do nginx e do Apache, usando o Apache para carregar PHP, o nginx é responsável por analisar outras requisições web e usa o módulo de reescrita do nginx, mas a porta do Apache não está aberta ao público, e muitos módulos do Apache podem reduzir recursos sem carregar. |