Las primeras 200 páginas de Baidu de "Preguntas de la entrevista de Java" seleccionadas en el próximo artículo
Patrón de diseño
¿Qué son los patrones de diseño? ¿Qué patrón de diseño has usado? ¿En qué ocasiones sabes qué modelos de diseño comercial usas?
Qué patrones de diseño pueden aumentar la escalabilidad del sistema
Modo singleton
Además del modo Singleton, ¿qué otros modos de diseño ha utilizado en un entorno de producción?
Escribir en modo singleton en modo Singleton Doble Check Bloque
¿Cuál es el patrón singleton de una clase? Escribe tres implementaciones de patrones singleton
Modo adaptador
Cuándo usar el modo Xiangyuan, cuándo usar el modo de combinación. Cuándo usar el modo de visitante. ¿Cuál es el modo de método de plantilla? Dé un ejemplo de un modo de diseño que se ajuste al principio de apertura y cierre.
Pregunta abierta
Resumir las características de la programación web en una oración
¿Cómo devuelve Google los resultados de búsqueda a los usuarios en un segundo? ¿Qué método de inyección de dependencia recomienda usar, inyección de constructor o árbol de inyección del método setter (binario u otro) para formar la base de muchas estructuras de datos ordinarias. Describa algunas estructuras de datos de estas y cuando pueda usarlas. Cómo diseñar un sistema en línea de repente se vuelve extremadamente lento. ¿Cómo encuentras el problema? ¿Qué tipo de proyecto no es adecuado para usar el marco? ¿Cómo implementa Sina Weibo empujar a Weibo a los suscriptores? Breve introducción. ¿Qué sucede en las aplicaciones web de Java desde el navegador hasta el momento de ingresar la URL a la interfaz de solicitud? Hable sobre cómo modificar de manera segura la misma línea de datos bajo la integración SSH bajo alta concurrencia.
Cómo implementar el sistema de reserva de boletos del sitio web 12306, cómo garantizar que los boletos no sean sobrevendidos, cómo optimizar la optimización del rendimiento del sitio web. Hablemos de la arquitectura del servidor que ha estado involucrada en el diseño. Piense en una solución para implementar CountdownLatch en un entorno distribuido.
Piense en una solución para diseñar una adaptación automática de caché local que pueda controlar el tamaño general del caché. El desafío técnico más difícil en su carrera es cómo escribir un documento de diseño, ¿cuál es la capitalización de la O? Dé algunos ejemplos cómo considera algunos principios de diseño en la programación, como los principios de apertura y cierre, y la aplicación en el trabajo. Explique el modelo y las características de las aplicaciones de red. Diseñe un sistema de documentos en línea. El documento se puede editar. Cómo evitar que varias personas editen y actualicen el mismo documento al mismo tiempo. Digamos el mecanismo de trabajo del grupo de conexión de datos. Cómo obtener la mayor frecuencia de palabras que aparecen en un archivo. Describa su estilo de programación más utilizado. Si tiene la oportunidad de rediseñar su producto, ¿cómo hace cómo construir un sistema altamente disponible? Cómo comenzar sin ingresar un nombre de usuario y contraseña. Cómo cargar y descargar archivos en un proyecto web basado en Java. Cómo implementar un sistema de venta flash para garantizar que solo unos pocos usuarios puedan comprar un determinado producto.
Cómo lograr el equilibrio de carga, ¿qué algoritmos se pueden usar para diseñar un carrito de compras? Piense en cómo se implementa el carrito de compras de Taobao para diseñar un conjunto de soluciones de pago de alta concurrencia, cómo diseñar la arquitectura, cómo diseñar y establecer y mantener una larga conexión de 100W, y cómo evitar el caché del navegador.
Cómo prevenir la avalancha de caché Si AB y dos sistemas dependen unos de otros, cómo deshacer la dependencia si alguien crea maliciosamente conexiones ilegales, cómo resolver el problema si hay miles de millones de blancas, se requieren altas consultas concurrentes todos los días durante el día y actualizarlas por la noche. Cómo diseñar esta función. Si el sistema quiere usar enteros súper grandes (más que el rango de larga longitud), diseñe una estructura de datos para almacenar dichos números súper grandes y diseñar un algoritmo para implementar operaciones de adición de enteros súper grandes)
Si desea diseñar un sistema de gráficos, diseñe una implementación simple de componentes de gráficos básicos (punto, línea, rectángulo, triángulo). Si puede implementar una lista vinculada concurrente y segura, ¿cómo marcará la diferencia entre un servidor de aplicaciones y un servidor web? ¿Cómo monitorear el rendimiento de los servidores de aplicaciones y las diferencias entre varios métodos? ¿Qué sitios web grandes ha utilizado para la tecnología de optimización del servidor de aplicaciones? ¿Qué arquitectura debe ser considerada por sitios web grandes? ¿Ha tratado los problemas en línea? Fugas de memoria, la utilización de la CPU es alta, ¿qué libros cree que está haciendo cuando la aplicación no responde? ¿Cuáles son los libros más impresionantes? ¿Cuáles son las técnicas de reconstrucción comunes que usa bajo la descripción de qué herramientas de administración de versiones usa? ¿Cuál es la diferencia entre rama y etiqueta? ¿Has aprendido sobre qué antipatrones existen? ¿Cuáles son las técnicas para la optimización frontal de los sitios web que ha utilizado? Cómo analizar el volcado de hilo
¿Cómo entiendes los conceptos de punto de unión, punto de punto, mejora, introducción, tejido y sección en AOP? ¿Cómo se trata con fugas de memoria o problemas de desbordamiento de pila? ¿Cuáles son los parámetros JVM utilizados en línea? ¿Cómo mejorar el QP y el rendimiento del sistema?
Conocimiento
Explique qué es el protocolo MESI (coherencia de caché)
Hablar sobre el modelo de reactor
¿Qué nuevas características trae Java 9?
Comparando Java y C ++, los principios y aplicaciones simples de los mecanismos de manejo de excepciones en C ++ o Java hablan brevemente sobre la estructura Tomcat y cuál es la memoria virtual de su proceso de cargador de clase. Explique brevemente su comprensión del desarrollo basado en pruebas (TDD)
Principio de implementación de CDN
¿Cuál es la diferencia entre Maven y Ant?
¿Cuáles son las imágenes comúnmente utilizadas en UML?
Linux
¿Qué es el rompecabezas N+1? ¿Qué es el algoritmo Paxos? Dime lo que entiendes RESTful
¿Cuál es el protocolo ZAB y cuál es el modelo de dominio? ¿Cuál es la diferencia entre el modelo de anemia y un modelo de congestión? ¿Qué es el desarrollo basado en el dominio?
Introducción al marco de servicios web en el campo Java que comprende
¿Cuál es la diferencia entre el servidor web, el contenedor web y el servidor de aplicaciones? ¿Dónde la diferencia entre microservicios y aplicaciones monolíticas describe el papel de las cookies y las sesiones, las diferencias y sus respectivos alcances de aplicaciones, el principio de funcionamiento de la sesión cuáles son las herramientas continuas de integración y análisis de código estático que usa descrita brevemente la regularización de la base de datos (normalizaciones)?
¿Qué significan los principios de beso, seco, yagni, etc., los principios de las transacciones distribuidas, las ventajas y las desventajas, y cómo usar transacciones distribuidas?
Cómo lograr un número de serie único en un clúster distribuido
red
¿Has visto algunos de los diseños de la capa de persistencia del código del marco, cuáles son los problemas a considerar? ¿Cuáles son las mejoras numéricas del marco de la capa de persistencia que ha utilizado? ¿Puedes explicar el principio de reemplazo de LISZC? ¿Cómo probaste una aplicación? ¿Cuáles son los protocolos de programación comunes para la capa de transporte de marcos de prueba? Y decir sus propias características
Preguntas de programación
Calcular las tarifas de tiempo extra
El pago de horas extras para el trabajo de tiempo extra bajo 10 horas es 1.5 veces el salario por hora. Trabajar horas extras durante 10 horas o más se calcula como 4 yuanes por hora. Consejo: (trabajando 26 días al mes, trabajando 8 horas al día)
Calcule el salario mensual de 1000, calcule el pago de horas extras por 9 horas de tiempo extra, calcule 2500 salario mensual de 11 horas de tiempo extra, calcule 1000 salario mensual de 15 horas de tiempo extra
Vender cosas
Un centro comercial tiene manzanas rojas y manzanas verdes para la venta. (Las manzanas rojas son 5 yuanes por pieza, las manzanas verdes son 4 yuanes por pieza).
Simular una compra. Se agregaron 200 manzanas rojas y manzanas verdes.
Simular un para la venta. Compré 10 manzanas rojas y manzanas verdes cada una. Cada manzana vendida requiere estadísticas.
Consejo: una manzana es una entidad separada.
Extracción de fecha
Hay una cadena de tiempo: 2008-8-8 20:08:08, escriba una expresión regular que pueda igualarlo y escribir código Java para extraer las horas, minutos y segundos después de la fecha, es decir: 20:08:08
Hilo
8 Diseñe 4 hilos, dos hilos aumentan en 1 cada vez para J, y los otros dos hilos disminuyen en 1 cada vez para j. Escriba el programa.
Escriba un programa multiproceso en Java, como escribir cuatro hilos, dos más uno, dos decrementos uno por uno y salida
Wait-Notify escribe un código para resolver problemas de consumidor del productor
número
Determine cuántos números primos están entre 101 y 200, y genere todos los números primos. Use el método más eficiente para calcular 2 veces 17 a igual a 100 millones de números. 2 de ellos se repiten. Encuéntralo rápidamente, y el tiempo y el espacio deben ser óptimos.
200 millones de enteros desordenados generados al azar para encontrar el valor del tamaño intermedio
Encuentra los 10 de cada 1 mil millones de números
Números naturales de 1 a 100 millones, encuentre la suma de los números divididos de todos los números, como 286 divididos en 2, 8, 6, como la suma de los números divididos de 1 a 11 => 1 + ... + 9 + 1 + 0 + 1 + 1
Si un número es exactamente igual a la suma de sus factores, este número se llama "número terminado". Por ejemplo, 6 = 1+2+3. La programación para descubrir todos los elementos dentro de 1000 y todos los elementos en una matriz aparecen tres veces, y solo aparece un elemento una vez. Encuentra este elemento, una pelota cae libremente desde una altura de 100 metros y se vuelve a la mitad de la altura original después de cada aterrizaje; Caer nuevamente, ¿averigua cuántos metros pasa cuando aterriza en la décima vez? ¿Qué tan alto es el décimo rebote?
Encuentre la suma de números primos dentro de 100-1000 y encuentre el número promedio de sumas de 1 a 100 para encontrar el valor de S = a+a+aaa+aaaa+aaa ... a, donde a es un número. Por ejemplo, 2+22+222+2222+2222 (se agregan un total de 5 números), y la adición de varios números se controla por teclado. Encuentra la suma de 1 a 100
Calcule los números primos de 1 a 40 y póngalos en la matriz
Hay 3n+1 números, de los cuales 3n se repiten, y solo 1 no se repite, cómo encontrarlo.
Hay un conjunto de números 1.1.2.3.5.8.13.21.34. Escriba un programa e ingrese un número a voluntad para dar el desarrollo factorial de los primeros 5 números con las mismas reglas que el conjunto anterior de números. Zumbido
Dada una matriz que contiene N enteros, descubra los enteros faltantes y ordene la matriz, descubra todas las combinaciones con la suma de los dos números m para descomponer un entero positivo al factor principal. Por ejemplo: ingrese 90 e imprima 90 = 2*3*3*5.
Imprima todo el "número de narcisos", el llamado "número de narciso" se refiere a un número de tres dígitos cuyos dígitos son una suma cúbica igual al número en sí. Por ejemplo: 153 es un "número deslumbrante", porque 153 = 1 potencia cúbica +5 potencia cúbica +3 valores de intercambio de potencia cúbica de dos variables para encontrar la mediana de 4 bytes enteros y encontrar la raíz cuadrada del entero para realizar fibonacci
red
Programación con Java Socket, leyendo algunos caracteres en el servidor y luego escribir en la pantalla local
reflexión
¿Qué funciones proporciona el mecanismo de reflexión?
¿Cómo implementar la reflexión dónde usar el mecanismo de reflexión? Reflexión. Class.forname y classloader. Las tres formas de diferenciar la reflexión. ¿Cuáles son las tres formas de crear instancias de clase? Cómo llamar a un objeto a través de la reflexión. Cómo obtener y establecer el valor de los campos privados del objeto a través de la reflexión. Ventajas y desventajas del mecanismo de reflexión.
base de datos
Escriba un programa JDBC a Oracle e implementa una consulta de datos
algoritmo
50 personas se sientan en un círculo, cuando el número llega a un múltiplo de tres o tres, pregunte quién es la persona restante, ¿cuál es la posición original? Implementar un simulador de ascensor. Escribe un tipo de burbujas y escriba un pliegue y la mitad de búsqueda genera aleatoriamente 20 caracteres que no se pueden repetir y clasificar. Escriba una función, pase en 2 matrices de enteros ordenados, devuelva una matriz entera ordenada y escriba un código para eliminar un elemento al atravesar la lista de matrices. Pregunta clásica: hay un par de conejos, y un par de conejos nacen cada mes desde el tercer mes después del nacimiento. El conejo crece hasta el cuarto mes y tiene otro par de conejos cada mes. Si los conejos no mueren, pregunte cuántos conejos hay en total cada mes.
Regular
Escriba una expresión regular que coincida con la dirección IP y escriba una expresión regular para determinar si una cadena es un número
Cadena
Escriba un método, ingrese un nombre de archivo y una cadena, y cuente el número de veces que esta cadena aparece en este archivo.
Escriba un programa para descubrir la combinación de todas las cuerdas y verifique si son cuerdas de palíndromo. Escriba una función de inversión de cadena, ingrese a ABCDE para convertirlo en el mini juego de código EDCBA, invierta las palabras en la oración para convertir la cadena codificada GB2312 en una cadena codificada ISO-8859-1. Escriba un código para calcular el número de caracteres "A" en un texto determinado. Escriba una función que intercepte las cadenas en iteración y recursión respectivamente. La entrada es un número de cadena y byte, y la salida es una cadena interceptada por bytes. Sin embargo, debe asegurarse de que los caracteres chinos no sean cortados a la mitad. Por ejemplo, "I ABC" 4 debe cortarse como "I AB", ingrese "I ABC Chino Def", 6 debe ser emitido como "I ABC" en lugar de "I ABC+la mitad de los chinos"
Dados 2 archivos que contienen una lista de palabras (una por línea), enumere programáticamente la intersección e imprima todas las permutaciones de una cadena para convertir la entrada de números mediante un teclado en salida china (por ejemplo: entrada 1234567, salida: 122 Pick 34566 Pick 7)
Durante el desarrollo de la aplicación web, a menudo encontramos caracteres que generan algún tipo de caracteres codificados, como de GBK a ISO8859-1, etc. Cómo generar cierto tipo de cadena de caracteres codificada
fecha
Calcule la brecha entre dos fechas
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.