PHP
1. Básico
1, a diferença entre sessão e cookie
-
Sessão é uma estrutura de dados salva no servidor para rastrear o status dos usuários. Esses dados podem ser salvos em clusters, bancos de dados e arquivos
-
Cookie é um mecanismo para o cliente guardar as informações do utilizador, é utilizado para registar algumas informações do utilizador e também é uma forma de implementar a Session.
2, Você já usou PHP7? Saiba quais são os novos recursos
PHP7 alcançou melhorias de desempenho, novos operadores, sintaxe de variável unificada, etc.
3, a variável mágica
Questionado sobre o significado de __dir__, este é o diretório onde o arquivo de resposta está localizado
4. Método mágico
Esta é uma pergunta frequente. Lembro-me das perguntas mais comuns. Quando perguntei a __invoke () de repente, fiquei confuso
__construct (), __destruct (), __call (), __callStatic (), __get (), __set (), __isset (), __unset (), __sleep (), __wakeup (), __toString (), __invoke (), __set_state (), __clone () e __debugInfo ()
2. Estrutura e algoritmo de dados
1, estrutura de dados da pilha
Contanto que o código possa ser usado para atingir a estrutura de dados da pilha
2, tipo de bolha
Contanto que a classificação da bolha possa ser realizada com código
3, a diferença entre uma árvore binária completa e uma árvore binária completa
Apenas o grau de nó de dois níveis mais baixo pode ser menor que 2, e os nós de nível mais baixo estão concentrados na posição mais à esquerda da árvore binária é uma árvore binária completa
e uma profundidade de he 2 ^ h-1 Árvore binária completa
3. Relacionado à arquitetura
1, Qual é a diferença entre Laravel e ThinkPHP, e do que devo reclamar do laravel?
Eu apresentei as diferenças de roteamento, middleware para controlador, acesso a dados, visualização, etc.
Tucao pode ser um pouco pesado em comparação com alguns projetos.
2, O Composer já lançou seu próprio pacote? (Com base no desenvolvimento modular de PHP do Composer)
Eu respondi não, acabei de aprender
O entrevistador disse que o framework deles é um framework de desenvolvimento secundário baseado no Discuz, e baseado em sua excelente base, o gerenciamento de dependências do compositor também foi introduzido no blabla
3, fale sobre a compreensão do MVC
Combine o modelo de descrição do projeto, visão, relacionamento do controlador e composição básica
Quatro. Proteção
1, ataque XSS cross-site scripting
2, ataque de tráfego DDOS
3. Ataque de falsificação de solicitação entre sites CSRF
4, injeção de SQL
Controle ou restrinja a entrada do usuário em formulários front-end
Filtrar ao passar parâmetros e dados no back-end etc.
V. Projeto
1, Como resolver o problema de simultaneidade no projeto
Minha solução é primeiro controlar as solicitações válidas no front end, como uma solicitação normal uma vez por minuto.
Em seguida, o back end também considera as solicitações inválidas e, em seguida, coloca a operação na fila para implementação.
Um entrevistador perguntou: sua fila está bloqueada? Se dois usuários realmente compram ao mesmo tempo e os dois esperam para concluir, eles ainda usam o mesmo thread para concluir. Você já pensou em usar outros métodos para conseguir?
Eu disse não, ele apenas Disse que você pode usar o mecanismo de bloqueio, o segundo aguarda o primeiro se completar, um a um
2, O processo de implementação específico do pagamento WeChat
1) A página H5 inicia uma solicitação de pagamento e solicita a geração de um pedido de pagamento.
2) Chame a API de pedido unificado para gerar um pedido pré-pago.
3) Gere e assine os parâmetros de pagamento chamados pela página JSAPI.
4) O navegador WeChat invoca automaticamente a interface JSAPI de pagamento para pagar.
5) Confirme o pagamento
6) Notifique de forma assíncrona o comerciante do resultado do pagamento, e o comerciante recebe a notificação e retorna as informações de confirmação
7) Retorne o resultado do pagamento e exiba as informações do pagamento para o usuário
3. Realização simples da função de login e registro
Cada estrutura considera aspectos diferentes, então apenas escreva o código correspondente de acordo com seu próprio entendimento
4. Como projetar um shopping
Eu primeiro defini para mim mesmo um shopping B2C e, em seguida, comecei a partir da planilha de dados e, em seguida, apresentei brevemente a lógica de implementação de front-end e back-end
MYSQL
A otimização do mysql é basicamente a principal prioridade, especialmente a tecnologia de teste
1. Básico
1, Qual é a diferença entre InnoDB e MyISAM
InnoDB fornece processamento de transações, bloqueios em nível de linha, suporta chaves estrangeiras e vários formatos de linha.
MyISAM só suporta bloqueios em nível de tabela, índices de texto completo e tabelas heap.
2, quais são as características da transação
Atomicidade, consistência, isolamento, durabilidade
3, o nível de isolamento da transação
Leitura não confirmada, leitura enviada, leitura repetível, serializável
4. Existe um campo de tabela de O_Id, OrderDate, OrderPrice, Customer. Queremos encontrar clientes cujo valor total do pedido seja inferior a 2.000
SELECT Customer,SUM(OrderPrice) FROM
Orders
GROUP BY Customer
HAVING SUM(OrderPrice)<2000
5. Consulte os dados na tabela do aluno, se for maior que 60, é uma aprovação, caso contrário, falha
select 分数,类别=Case
WHEN 分数 >=60 THEN '及格'
ELSE '不及格 '
END
from 成绩表
6, consulte a ID do aluno e o nome dos alunos que não concluíram todos os cursos
SELECT a.SNO ,a.SNAME
FROM student a
WHERE a.`SNO` NOT IN
( SELECT b.`SNO` FROM SC b
GROUP BY b.`SNO` HAVING COUNT(*) =
( SELECT COUNT(*) FROM course)
);
2. Otimização
1, “selecione * do aluno onde nome = 'vermelho'”, “selecione * do aluno onde nome = 'azul'” , 优化 语句
select name from student where
name='red'
union
select
name from student where name='blue'
Se você usar a condição ou, a tabela myisam pode usar o índice, mas o innodb não.
Innodb substitui OR por UNION (para colunas indexadas)
2, Como você geralmente otimiza o banco de dados
Cache de consulta, EXPLAIN, índice (conjunto), usar tabela estática de comprimento fixo
servidor
1. Proteção
Como proteger o servidor
Abra apenas portas limitadas, restrinja o IP de login, restrinja as contas de login
É também uma pergunta para um livro, que pode ser respondida de acordo com o projeto
2. Acordo
Qual é a diferença entre Get e Post
Os parâmetros get estão incluídos no URL e as solicitações GET serão ativamente armazenadas em cache pelo navegador. É codificado por url e há restrições de caracteres. Os parâmetros são caracteres ASCII.
Post passa parâmetros por meio do corpo da solicitação e existem vários métodos de codificação
3. NginX
Qual é o processo de solicitação de script php ao definir o nginx
A configuração padrão é encaminhar para o processamento FastCGI
4. Redis
1. Quais dados você usa redis para armazenar em cache
De acordo com o projeto, alguns dados usados com frequência que armazenei
2. Como o Redis faz persistência e qual frequência de atualização configurar
Configure a persistência AOF, atualize o arquivo AOF a cada segundo por padrão
3. O Redis é multiencadeado?
Tópico único (na verdade, respondi multi-threaded, 233)
4. Como o Redis configura um mestre e vários escravos e quanto tempo leva?
Você pode usar a solução oficial de cluster Redis, que não foi praticada, e pode levar várias semanas para ser concluída
V. Gerenciamento de Código
Você já usou o git? Quando duas pessoas enviam o código errado, como resolver
Usei git para enviar o código. Se isso acontecer, você pode primeiro fazer o git puxar o código remoto para o local, modificar o código conflitante ou o conteúdo da marca Git corretamente e reenviar o código
de outros
1. Por que sair
Respondeu espirituoso, e falou um pouco sobre a empresa ou sobre si mesma.
2. Sua equipe ideal
Paixão pela tecnologia, resolver problemas ativamente e cooperar juntos
3. Planejamento de carreira
Front-end aprofundado, back-end aprofundado, coleta de análise de otimização de dados, blabla de penetração de servidor
4. Perguntas a serem feitas
Normalmente pergunte à empresa quais são os projetos, estrutura técnica, rentabilidade, etc.
As pilhas de tecnologia de empresas diferentes são diferentes, e os pontos de preocupação também são diferentes. Em certa medida, eles perguntarão sobre a solução de bloqueio específica para o problema da fila. Alguns prestarão mais atenção à eficiência do projeto e alguns também prestarão atenção à construção do servidor. Com uma compreensão das estruturas populares, você pode encontrar a direção de desenvolvimento que deseja no processo
pós-escrito
9 7ofertas em 5 dias, me sinto bem. Durante a entrevista, a maioria das empresas fará perguntas detalhadas com base nos itens do currículo. Durante a entrevista, você pode ver a amplitude da tecnologia (quantos projetos ou habilidades foram experimentados) e a profundidade da tecnologia (otimização de dados, (Framework que compreende a produção, o ataque ao servidor e a penetração da defesa), espero que todos possam continuar a praticar e aprender a tecnologia conforme o projeto se desenvolve. (• ㅂ •) / ♥ encorajam uns aos outros ~
Preste atenção, não se perca
Muito bem, pessoal, o texto 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á-lo em PDF e documentos aqui, se necessário lata
Clique para inserir o código secreto: PHP + 「Plataforma」
Para obter mais conteúdo de aprendizagem, 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 subirá um degrau (atualização contínua)