As primeiras 200 páginas do Baidu de "Perguntas da entrevista em Java" selecionadas no próximo artigo
Padrão de design
O que são padrões de design? Qual padrão de design você usou? Em que ocasiões você sabe quais modelos de design comercial você usa?
Quais padrões de design podem aumentar a escalabilidade do sistema
Modo singleton
Além do modo Singleton, que outros modos de design você usou em um ambiente de produção?
Escrevendo Singleton Singleton Mode Singleton Mode Double Check Lock Como criar um singleton seguro
Qual é o padrão de uma aula? Escreva três implementações de padrões de singleton
Modo adaptador
Quando usar o modo Xiangyuan, quando usar o modo de combinação. Quando usar o modo de visitante. Qual é o modo de método de modelo. Dê um exemplo de um modo de design que esteja em conformidade com o princípio de abertura e fechamento.
Pergunta aberta
Resuma as características da programação da Web em uma frase
Como o Google retorna os resultados da pesquisa para os usuários em um segundo? Qual método de injeção de dependência você recomenda usar, injeção de construtor ou árvore de injeção de método de setter (binária ou outra) para formar a base para muitas estruturas de dados comuns. Descreva algumas dessas estruturas de dados e quando você pode usá -las. Como projetar um sistema on -line repentinamente se torna extremamente lento. Como você encontra o problema? Que tipo de projeto não é adequado para usar a estrutura? Como o Sina Weibo implementa empurrando o Weibo para os assinantes? Breve introdução. O que acontece nos aplicativos da Web Java do navegador até o momento da entrada no URL na interface de solicitação. Fale sobre como modificar com segurança a mesma linha de dados sob integração SSH sob alta simultaneidade.
Como implementar o sistema de reserva de ingressos do site 12306, como garantir que os ingressos não sejam vendidos demais, como otimizar a otimização de desempenho do site. Vamos falar sobre a arquitetura do servidor que esteve envolvida no design. Pense em uma solução para implementar o CountdownLatch em um ambiente distribuído.
Pense em uma solução para projetar uma adaptação automática do cache local que pode controlar o tamanho geral do cache. O desafio técnico mais difícil em sua carreira é como escrever um documento de design, qual é a capitalização do O? Dê alguns exemplos como você considera alguns princípios de design na programação, como os princípios de abertura e fechamento e o aplicativo no trabalho. Explique o modelo e as características dos aplicativos de rede. Projete um sistema de documentos on -line. O documento pode ser editado. Como impedir que várias pessoas editem e atualizem o mesmo documento ao mesmo tempo. Diga o mecanismo de trabalho do pool de conexão de dados. Como obter a maior frequência de palavras que aparecem em um arquivo. Descreva seu estilo de programação mais usado. Se você tiver a oportunidade de redesenhar seu produto, como você faz como criar um sistema altamente disponível? Como começar sem entrar em um nome de usuário e senha. Como fazer upload e baixar arquivos em um projeto da web baseado em Java. Como implementar um sistema de venda flash para garantir que apenas alguns usuários possam comprar um determinado produto.
Como alcançar o balanceamento de carga, quais algoritmos podem ser usados para projetar um carrinho de compras? Pense em como o carrinho de compras da Taobao é implementado para projetar um conjunto de soluções de pagamento de alta concorrência, como projetar a arquitetura, como projetar e estabelecer e manter uma longa conexão de 100W e como evitar o cache do navegador.
Como impedir a avalanche de cache se AB e dois sistemas dependem um do outro, como desfazer a dependência se alguém criar maliciosamente conexões ilegais, como resolver o problema se houver bilhões de brancos, consultas altas são necessárias todos os dias durante o dia e atualizá -las à noite. Como projetar esta função. Se o sistema quiser usar números inteiros super grande (mais do que a faixa de longa duração), projete uma estrutura de dados para armazenar números tão gerais e projetar um algoritmo para implementar operações de adição inteira super grande))
Se você deseja projetar um sistema gráfico, projete uma implementação simples de componentes gráficos básicos (ponto, linha, retângulo, triângulo). Se você tiver permissão para implementar uma lista vinculada simultânea e segura, como fará a diferença entre um servidor de aplicativos e um servidor da Web? Como monitorar o desempenho dos servidores de aplicativos e as diferenças entre vários métodos? Quais sites grandes você usou para a tecnologia de otimização de servidores de aplicativos? Qual arquitetura deve ser considerada por sites grandes? Você já lidou com problemas on -line? Vazamentos de memória, a utilização da CPU é alta, que livros você acha que está fazendo quando o aplicativo não responde? Quais são os livros mais impressionantes? Quais são as técnicas de reconstrução comuns que você usa na descrição de quais ferramentas de gerenciamento de versão você usa? Qual é a diferença entre ramificação e tag? Você aprendeu sobre o que existem anti-padrões? Quais são as técnicas para a otimização front-end de sites que você usou? Como analisar o despejo de threads
Como você entende os conceitos de junção, pointcut, aprimoramento, introdução, tecelagem e seção na AOP. Como você lida com vazamentos de memória ou problemas de transbordamento de pilha? Quais são os parâmetros da JVM usados online? Como melhorar o QPS e a taxa de transferência do sistema?
Conhecimento
Explique o que é o protocolo MESI (coerência de cache)
Fale sobre o modelo do reator
Quais novos recursos o java 9 trar
Comparando Java e C ++, os princípios e aplicações simples dos mecanismos de manuseio de exceções em C ++ ou Java falam brevemente sobre a estrutura do Tomcat e qual é a memória virtual de seu processo de carregador de classe. Explique brevemente sua compreensão do desenvolvimento orientado a testes (TDD)
Princípio da implementação do CDN
Qual é a diferença entre Maven e Ant
Quais são as imagens comumente usadas em uml
Linux
O que é n+1 quebra -cabeça O que é o algoritmo paxos O que é repouso? Diga -me o que você entende repouso
O que é o protocolo ZAB e qual é o modelo de domínio? Qual é a diferença entre o modelo de anemia e um modelo de congestionamento? O que é o desenvolvimento orientado ao domínio?
Introdução à estrutura de serviço da web no campo Java que você entende
Qual é a diferença entre servidor da web, contêiner da web e servidor de aplicativos? Onde a diferença entre microsserviços e aplicações monolíticas descreve o papel dos cookies e das sessões, as diferenças e seus respectivos escopos de aplicativos, o princípio de trabalho da sessão quais são as ferramentas contínuas de integração e análise de código estáticas que você usa brevemente descreve a regularização do banco de dados (normalizações)
O que os princípios de beijo, seco, yagni, etc. significam os princípios de transações, vantagens e desvantagens distribuídas e como usar transações distribuídas?
Como alcançar o número de série exclusivo em um cluster distribuído
rede
Você viu alguns dos projetos de camada de persistência do código da estrutura, quais são os problemas a serem considerados? Quais são os aprimoramentos numéricos da estrutura da camada de persistência que você usou? Você pode explicar o princípio de substituição do Liszc? Como você testou um aplicativo? Quais são os protocolos de programação comuns para a camada de transporte de estruturas de teste? E conte suas próprias características
Perguntas de programação
Calcule taxas de horas extras
O pagamento de horas extras pelo trabalho de horas extras abaixo de 10 horas é de 1,5 vezes o salário por hora. Trabalhar horas extras por 10 horas ou mais é calculado como 4 yuan por hora. Dica: (trabalhando 26 dias por mês, trabalhando 8 horas por dia)
Calcule o salário mensal de 1000, calcule o pagamento de horas extras por 9 horas extras, calcule 2500 salário mensal de 11 horas horas extras, calcule 1000 salário mensal de 15 horas horas extras
Vender coisas
Um shopping tem maçãs vermelhas e maçãs verdes à venda. (As maçãs vermelhas são 5 yuan por peça, as maçãs verdes são 4 yuan por peça).
Simular uma compra. 200 maçãs vermelhas e maçãs verdes foram adicionadas.
Simular uma venda. Comprei 10 maçãs vermelhas e maçãs verdes cada. Cada maçã vendida requer estatísticas.
Dica: uma maçã é uma entidade separada.
Extração de data
Existe uma sequência de tempo: 2008-8-8 20:08:08, por favor, escreva uma expressão regular que possa corresponder e escreva o código Java para extrair as horas, minutos e segundos após a data, ou seja: 20:08:08
Fio
8 Projeto 4 fios, dois fios aumentam em 1 de cada vez para J e os outros dois threads diminuem em 1 de cada vez para j. Escreva o programa.
Escreva um programa multithread em Java, como escrever quatro tópicos, dois mais um, dois decrementos um por um e saída
Wait-Notify escreve um pedaço de código para resolver problemas de consumo de produtores
número
Determine quantos números primos estão entre 101 e 200 e produza todos os números primos. Use o método mais eficiente para calcular 2 vezes 17 para igualar 100 milhões de números. 2 deles são repetidos. Encontre rapidamente, e o tempo e o espaço devem ser ideais.
200 milhões de inteiros não ordenados gerados aleatoriamente para encontrar o valor do tamanho intermediário
Encontre os menores 10 em 1 bilhão de números
Números naturais de 1 a 100 milhões, encontre a soma dos números divididos de todos os números, como 286 divididos em 2, 8, 6, como a soma dos números de divisão de 1 a 11 => 1 +… + 9 + 1 + 0 + 1 + 1
Se um número for exatamente igual à soma de seus fatores, esse número será chamado de "número acabado". Por exemplo, 6 = 1+2+3. Programação para descobrir todos os elementos dentro de 1000 e todos os elementos em uma matriz aparecem três vezes, e apenas um elemento aparece uma vez. Encontre esse elemento, uma bola cai livremente de uma altura de 100 metros e recua para metade da altura original após cada pouso; Call de novo, descubra quantos metros passa quando aterrissa pela 10ª vez? Quão alto é o 10º rebotes?
Encontre a soma dos números primos dentro de 100-1000 e encontre o número médio de somas de 1 a 100 para encontrar o valor de s = a+a+aaa+aaaa+aaa… a, onde a é um número. Por exemplo, 2+22+222+2222+2222 (um total de 5 números são adicionados) e a adição de vários números é controlada pelo teclado. Encontre a soma de 1 a 100
Calcule os números primos de 1 a 40 e coloque -os na matriz
Existem 3N+1 números, dos quais 3n são repetidos e apenas 1 não é repetido, como encontrá -lo.
Há um conjunto de números 1.1.2.3.5.8.13.21.34. Escreva um programa e insira um número à vontade para fornecer o desenvolvimento fatorial dos 5 primeiros números com as mesmas regras que o conjunto anterior de números. Buzz de Fizz
Dada uma matriz contendo n números inteiros, descubra os números inteiros ausentes e resolva a matriz, descubra todas as combinações com a soma dos dois números M para decompor um número inteiro positivo para o fator primário. Por exemplo: digite 90 e imprima 90 = 2*3*3*5.
Imprima todo o "Número Narcissus", o chamado "Narcissus Number" refere-se a um número de três dígitos cujos dígitos são soma cúbica igual ao próprio número. Por exemplo: 153 é um "número deslumbrante", porque 153 = 1 potência cúbica +5 potência cúbica +3 valores de troca de energia cúbica de duas variáveis no local para encontrar a mediana de 4 inteiros de bytes e encontrar a raiz quadrada do número inteiro para realizar Fibonacci
rede
Programação com soquete Java, lendo alguns caracteres no servidor e depois escrevendo para a tela local
reflexão
Que funções o mecanismo de reflexão fornece?
Como implementar a reflexão onde usar o mecanismo de reflexão? Reflexão. Class.ForName e Classloader. As três maneiras de diferenciar a reflexão. Quais são as três maneiras de criar instâncias de classe? Como chamar um objeto através da reflexão. Como obter e definir o valor dos campos privados do objeto através da reflexão. Vantagens e desvantagens do mecanismo de reflexão.
banco de dados
Escreva um programa JDBC para Oracle e implemente a consulta de dados
algoritmo
50 pessoas sentam -se em círculo, quando o número atinge um múltiplo de três ou três, pergunte quem é a pessoa restante: qual é a posição original? Implementar um simulador de elevador. Escreva uma classificação de bolha e escreva uma pesquisa dobrada e meia gera aleatoriamente 20 caracteres que não podem ser repetidos e classificados. Escreva uma função, passe em 2 matrizes inteiras ordenadas, retorne uma matriz inteira ordenada e escreva um pedaço de código para remover um elemento ao atravessar a lista de Arraylist. Pergunta clássica: há um par de coelhos e um par de coelhos nasce todos os meses do terceiro mês após o nascimento. O pequeno coelho cresce para o quarto mês e tem outro par de coelhos todos os meses. Se os coelhos não morrerem, pergunte quantos coelhos estão no total em cada mês.
Regular
Escreva uma expressão regular que corresponda ao endereço IP e escreva uma expressão regular para determinar se uma string é um número
Corda
Escreva um método, insira um nome de arquivo e uma string e conte o número de vezes que essa string aparece neste arquivo.
Escreva um programa para descobrir a combinação de todas as cordas e verifique se elas são cordas palíndrome. Escreva uma função de inversão da string, digite o ABCDE para convertê-la em mini jogo de código EDCBA, reverte as palavras na frase para converter a sequência codificada GB2312 na string codificada ISO-8859-1. Escreva um pedaço de código para calcular o número de caracteres "a" em um determinado texto. Escreva uma função que intercepte seqüências de iteração e recursão, respectivamente. A entrada é um número de string e byte, e a saída é uma string interceptada por bytes. No entanto, você deve garantir que os caracteres chineses não sejam cortados metade. Por exemplo, "i abc" 4 deve ser cortado como "i ab", enter "i abc chinês def", 6 deve ser produzido como "i abc" em vez de "eu abc+metade de chinês"
Dados 2 arquivos contendo uma lista de palavras (uma por linha), liste programaticamente a interseção e imprima todas as permutações de uma string para converter a entrada de números por um teclado em saída chinesa (por exemplo: entrada 1234567, saída: 122 Pick 34566 Pick 7)
Durante o desenvolvimento de aplicativos da web, geralmente encontramos caracteres que produzem algum tipo de caracteres codificados, como GBK para ISO8859-1, etc. Como produzir um certo tipo de string de caracteres codificados
data
Calcule a lacuna entre duas datas
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.