Resumen de 198 preguntas de la entrevista de Java que a los entrevistadores les gusta hacer más en 2020 (incluido el análisis de respuestas)

prefacio

2020 está llegando a su fin, y muchos amigos preguntaron: ¿Ha resuelto algunas preguntas de la entrevista este año? Recientemente, me tomé el tiempo para resolver una pregunta de la entrevista de Java. Quizás esta pregunta de la entrevista no sea suficiente para cubrir todas las preguntas de Java, pero con ella, creo que es suficiente para tratar con la mayoría de las entrevistas de Java actualmente en el mercado, porque este artículo ha cubierto tanto en términos de profundidad como de amplitud. de puntos de conocimiento.

Los módulos incluidos en esta pregunta de la entrevista se dividen en 19 módulos, a saber: base de Java, contenedor, subprocesamiento múltiple, reflejo, copia de objeto, Java Web, excepción, red, patrón de diseño, Spring/Spring MVC, Spring Boot/Spring Cloud, Hibernate, MyBatis, RabbitMQ, Kafka, Zookeeper, MySQL, Redis, JVM. Como se muestra abajo

Este artículo es principalmente para organizar una lista de entrevistas más práctica para lectores y amigos, entremos juntos en el tema.

Resumen de las preguntas de la entrevista.

1. Preguntas de la entrevista de la serie básica de Java

1. ¿Cuál es la diferencia entre JDK y JRE?

2. ¿Cuál es la diferencia entre == y es igual a

3. Si el hashCode() de dos objetos es el mismo, entonces equals() también debe ser verdadero, ¿verdad?

4. ¿Cuál es el rol de final en Java?

5. ¿A qué equivale Math.round(-1.5) en Java?

6. ¿Es String un tipo de datos básico?

7. ¿Qué clases existen para manipular cadenas en Java? ¿Cual es la diferencia entre ellos?

8. ¿Es String str="i" lo mismo que String str=new String("i")?

9. ¿Cómo invertir una cadena?

10. ¿Cuáles son los métodos comúnmente utilizados de la clase String?

11. ¿Una clase abstracta tiene que tener métodos abstractos?

12. ¿Cuál es la diferencia entre una clase normal y una clase abstracta?

13. ¿Se puede decorar una clase abstracta con final?

14. ¿Cuál es la diferencia entre interfaz y clase abstracta?

15. ¿Cuántos tipos de flujos IO hay en Java?

16. ¿Cuál es la diferencia entre BIO, NIO y AIO?

17. ¿Cuáles son los métodos comunes de Archivos?

i

2. Preguntas de la entrevista de la serie de contenedores

18. ¿Qué son los contenedores de Java?

19. ¿Cuál es la diferencia entre Colección y Colecciones?

20. ¿Cuál es la diferencia entre Lista, Conjunto, Mapa?

21. ¿Cuál es la diferencia entre HashMap y Hashtable?

22. ¿Cómo decidir usar HashMap o TreeMap?

23. Cuénteme sobre el principio de implementación de HashMap.

24. Cuénteme sobre el principio de implementación de HashSet.

25. ¿Cuál es la diferencia entre ArrayList y LinkedList?

26. ¿Cómo realizar la conversión entre array y List?

27. ¿Cuál es la diferencia entre ArrayList y Vector?

28. ¿Cuál es la diferencia entre Array y ArrayList?

29. ¿Cuál es la diferencia entre poll() y remove() en Queue?

30. ¿Qué clases de colección son seguras para subprocesos?

31. ¿Qué es iterador iterador?

32. ¿Cómo usar Iterator? ¿Cuáles son las características?

33. ¿Cuál es la diferencia entre Iterator y ListIterator?

34. ¿Cómo asegurar que una colección no pueda ser modificada?

Tres series de preguntas de entrevista de varios subprocesos

35. ¿Cuál es la diferencia entre paralelismo y concurrencia?

36. ¿Cuál es la diferencia entre hilo y proceso?

37. ¿Qué es un subproceso daemon?

38. ¿Cuáles son las formas de crear hilos?

39. ¿Cuál es la diferencia entre ejecutable y exigible?

40. ¿Cuáles son los estados de un hilo?

41. ¿Cuál es la diferencia entre dormir() y esperar()?

42. ¿Cuál es la diferencia entre notificar() y notificarTodos()?

43. ¿Cuál es la diferencia entre run() y start() de un hilo?

44. ¿Cuáles son las formas de crear un grupo de subprocesos?

45. ¿Cuáles son los estados del grupo de subprocesos?

46. ​​​​¿Cuál es la diferencia entre los métodos de envío () y ejecución () en el grupo de subprocesos?

47. ¿Cómo garantizar la seguridad de la operación de subprocesos múltiples en programas Java?

48. ¿Cuál es el principio de actualización de bloqueo sincronizado en subprocesos múltiples?

49. ¿Qué es un punto muerto?

50. ¿Cómo evitar el interbloqueo?

51. ¿Qué es ThreadLocal? ¿Cuáles son los escenarios de uso?

52. Cuénteme sobre el principio de implementación subyacente de sincronizado.

53. ¿Cuál es la diferencia entre sincronizado y volátil?

54. ¿Cuál es la diferencia entre sincronizado y Bloqueado?

55. ¿Cuál es la diferencia entre sincronizado y ReentrantLock?

56. Cuéntame sobre el principio de la atómica?

Cuarto, reflexión, copia de objeto, preguntas de la entrevista Java Web

57. ¿Qué es la reflexión?

58. ¿Qué es la serialización de Java? ¿Cuándo se requiere serialización?

59. ¿Qué es un proxy dinámico? ¿Cuáles son las aplicaciones?

60. ¿Cómo implementar proxy dinámico?

61. ¿Por qué utilizar la clonación?

62. ¿Cómo implementar la clonación de objetos?

63. ¿Cuál es la diferencia entre copia profunda y copia superficial?

64. ¿Cuál es la diferencia entre JSP y servlet?

65. ¿Qué objetos integrados tiene JSP? ¿Cuáles son las funciones?

66. Cuéntame sobre los 4 alcances de JSP.

67. ¿Cuál es la diferencia entre sesión y cookie?

68. Cuénteme sobre el principio de funcionamiento de la sesión.

69. Si el cliente prohíbe las cookies, ¿se puede seguir utilizando la sesión?

70. ¿Cuál es la diferencia entre spring mvc y struts?

71. ¿Cómo evitar la inyección SQL?

72. ¿Qué es un ataque XSS y cómo evitarlo?

73. ¿Qué es un ataque CSRF y cómo evitarlo?

Cinco, excepción, red, serie de patrones de diseño de preguntas de entrevista

74. ¿Cuál es la diferencia entre throw y throws?

75. ¿Cuál es la diferencia entre final, finalmente y finalizar?

76. ¿Qué parte de try-catch-finally se puede omitir?

77. En try-catch-finally, si hay una devolución en la captura, ¿finalmente todavía se ejecutará?

78. ¿Cuáles son las clases de excepción comunes?

79. ¿Qué representan los códigos de respuesta http 301 y 302? ¿Cual es la diferencia?

80. ¿Cuál es la diferencia entre reenviar y redirigir?

81. Describa brevemente la diferencia entre tcp y udp.

82. ¿Por qué tcp necesita darse la mano tres veces, no se puede hacer dos veces? ¿Por qué?

83. ¿Dígame cómo se genera el paquete adhesivo tcp?

84. ¿Cuáles son los modelos de siete capas de OSI?

85. ¿Cuál es la diferencia entre las solicitudes get y post?

86. ¿Cómo lograr un dominio cruzado?

87. Cuénteme sobre el principio de implementación de JSONP.

88. Cuéntame sobre los patrones de diseño con los que estás familiarizado.

89. ¿Cuál es la diferencia entre fábrica simple y fábrica abstracta?

Seis, Spring, Spring MVC, Spring Boot, Spring Cloud serie de preguntas de la entrevista

90. ¿Por qué usar resorte?

91. Explique ¿Qué es aop?

92. Explique ¿Qué es el COI?

93. ¿Cuáles son los principales módulos de la primavera?

94. ¿Cuáles son los métodos de inyección más utilizados en primavera?

95. ¿Los frijoles en primavera son seguros para las roscas?

96. ¿Cuántos bean scopes admite Spring?

97. ¿Cuáles son las formas de ensamblar frijoles automáticamente en primavera?

98. ¿Cuáles son los métodos de implementación de las transacciones de primavera?

99. ¿Cuénteme sobre el aislamiento de transacciones de primavera?

100. Cuéntame sobre el proceso de ejecución de Spring MVC.

101. ¿Cuáles son los componentes de spring mvc?

102. ¿Cuál es el rol de @RequestMapping?

103. ¿Cuál es el rol de @Autowired?

104. ¿Qué es la bota de resorte?

105. ¿Por qué usar bota de resorte?

106. ¿Cuál es el archivo de configuración central de Spring Boot?

107. ¿Cuáles son los tipos de archivos de configuración de Spring Boot? ¿Cual es la diferencia?

108. ¿Cuáles son las formas del arranque de resorte para lograr un despliegue en caliente?

109. ¿Cuál es la diferencia entre jpa e hibernate?

110. ¿Qué es la nube de primavera?

111. ¿Cuál es la función del interruptor automático de nube de resorte?

112. ¿Cuáles son los componentes centrales de la nube de primavera?

Seven, Hibernate, MyBatis serie de preguntas de entrevista

113. ¿Por qué usar hibernación?

114. ¿Qué es un marco ORM?

115. ¿Cómo ver la instrucción SQL impresa en la consola en hibernación?

116. ¿Cuántos métodos de consulta tiene hibernate?

117. ¿Se puede definir la clase de entidad de hibernación como final?

118. ¿Cuál es la diferencia entre usar Integer e int para mapear en hibernación?

119. ¿Cómo funciona la hibernación?

120. ¿Cuál es la diferencia entre get() y load()?

121. Cuénteme sobre el mecanismo de almacenamiento en caché de hibernación.

122. ¿Cuáles son los estados de los objetos de hibernación?

123. ¿Cuál es la diferencia entre getCurrentSession y openSession en hibernación?

124. ¿Las clases de entidad de hibernación deben tener un constructor sin parámetros? ¿Por qué?

125. ¿Cuál es la diferencia entre #{} y #{} en MyBatis?

126. ¿Cuántos métodos de paginación tiene MyBatis?

127. ¿RowBounds consulta todos los resultados a la vez? ¿Por qué?

128. ¿Cuál es la diferencia entre la paginación lógica y la paginación física de MyBatis?

129. ¿MyBatis soporta la carga diferida? ¿Cuál es el principio de carga diferida?

130. Cuéntame sobre el caché de primer nivel y el caché de segundo nivel de MyBatis.

131. ¿Cuáles son las diferencias entre MyBatis e hibernate?

132. ¿Qué Ejecutores tiene MyBatis?

133. ¿Cuál es el principio de implementación del plugin de paginación MyBatis?

134. ¿Cómo escribe MyBatis un plugin personalizado?

Ocho, RabbitMQ, Kafka, Zookeeper serie de preguntas de la entrevista

135. ¿Cuáles son los escenarios de uso de RabbitMQ?

136. ¿Cuáles son los roles importantes de RabbitMQ?

137. ¿Cuáles son los componentes importantes de RabbitMQ?

138. ¿Cuál es el papel de vhost en RabbitMQ?

139. ¿Cómo se envían los mensajes de RabbitMQ?

140. ¿Cómo asegura RabbitMQ la estabilidad de los mensajes?

141. ¿Cómo evita RabbitMQ la pérdida de mensajes?

142. ¿Cuáles son las condiciones para asegurar el éxito de la persistencia del mensaje?

143. ¿Cuáles son las desventajas de la persistencia de RabbitMQ?

144. ¿Cuántos tipos de transmisión tiene RabbitMQ?

145. ¿Cómo implementa RabbitMQ una cola de mensajes retrasados?

146. ¿Cuál es el uso del clúster RabbitMQ?

147. ¿Cuáles son los tipos de nodos RabbitMQ?

148. ¿A qué problemas se debe prestar atención al construir un clúster RabbitMQ?

149. ¿Cada nodo de RabbitMQ es una copia completa de otros nodos? ¿Por qué?

150. ¿Qué sucede si falla el único nodo de disco en el clúster de RabbitMQ?

151. ¿Tiene RabbitMQ algún requisito para la orden de parada de los nodos del clúster?

152. ¿Se puede usar kafka independientemente de zookeeper? ¿Por qué?

153. ¿Cuántas estrategias de retención de datos tiene kafka?

154. Kafka está configurado para borrar datos durante 7 días y 10 G al mismo tiempo. Para el quinto día, el mensaje llegó a 10 G. ¿Cómo lo manejará Kafka en este momento?

155. ¿Qué hará que kafka funcione lentamente?

156. ¿A qué se debe prestar atención cuando se usa el clúster de Kafka?

157. ¿Qué es el cuidador del zoológico?

158. ¿Qué funciones tiene el cuidador del zoológico?

159. ¿Cuántos modos de despliegue tiene zookeeper?

160. ¿Cómo asegura zookeeper la sincronización de estado de los nodos maestro y esclavo?

161. ¿Por qué hay un nodo maestro en el clúster?

162. Hay 3 servidores en el clúster, uno de los nodos está inactivo, ¿se puede seguir usando zookeeper en este momento?

163. Cuénteme sobre el mecanismo de notificación del cuidador del zoológico.

Nueve, preguntas de la entrevista de la serie MySQL

164. ¿Cuáles son los tres paradigmas de la base de datos?

165. Hay un total de 7 piezas de datos en una tabla de incremento automático, elimine las últimas 2 piezas de datos, reinicie la base de datos MySQL e inserte otra pieza de datos, ¿cuál es la identificación en este momento?

166. ¿Cómo obtener la versión actual de la base de datos?

167. Dime ¿qué es ACID?

168. ¿Cuál es la diferencia entre char y varchar?

169. ¿Cuál es la diferencia entre float y double?

170. ¿Cuál es la diferencia entre unión interna, unión izquierda y unión derecha en MySQL?

171. ¿Cómo se implementa el índice MySQL?

172. ¿Cómo verificar si el índice MySQL cumple con los requisitos?

173. Cuéntame sobre el aislamiento de transacciones de la base de datos.

174. Hábleme de los motores comúnmente utilizados en MySQL.

175. Cuénteme acerca de los bloqueos de filas y bloqueos de tablas de MySQL.

176. ¿Hablar de bloqueo optimista y bloqueo pesimista?

177. ¿Cuáles son los métodos para solucionar problemas de MySQL?

178. ¿Cómo optimizar el rendimiento de MySQL?

10. Preguntas de la entrevista de la serie Redis

179. ¿Qué es Redis? ¿Cuáles son los escenarios de uso?

180. ¿Cuáles son las funciones de Redis?

181. ¿Cuál es la diferencia entre Redis y Memcache?

182. ¿Por qué Redis es de subproceso único?

183. ¿Qué es la penetración de caché? ¿Como lidiar con?

184. ¿Qué tipos de datos admite Redis?

185. ¿Cuáles son los clientes Java compatibles con Redis?

186. ¿Cuál es la diferencia entre jedis y Redisson?

187. ¿Cómo garantizar la coherencia de los datos de la caché y la base de datos?

188. ¿Cuántas formas hay para la persistencia de Redis?

189. ¿Cómo implementa Redis los bloqueos distribuidos?

190. ¿Cuáles son los defectos de los bloqueos distribuidos de Redis?

191. ¿Cómo optimiza Redis la memoria?

192. ¿Cuáles son las estrategias de eliminación de Redis?

193. ¿Cuáles son los problemas de rendimiento comunes de Redis? ¿Cómo resolverlo?

Once, preguntas de la entrevista de la serie JVM

194. Cuéntame sobre los componentes principales de la JVM. y su papel?

195. Cuénteme sobre el área de datos de tiempo de ejecución de JVM.

195. Cuénteme sobre el área de datos de tiempo de ejecución de JVM.

196. Cuéntame sobre la diferencia entre pilas.

197. ¿Qué son las colas y las pilas? ¿Cual es la diferencia?

198. ¿Qué es el modelo de delegación parental?

199. Cuénteme sobre el proceso de ejecución de la carga de clases.

200. ¿Cómo juzgar si el objeto se puede reciclar?

201. ¿Cuáles son los tipos de referencia en Java?

202. Dime, ¿qué algoritmos de recolección de basura tiene la JVM?

203. Dime que tipo de recolectores de basura tiene la JVM?

204. ¿Describa el recolector de basura CMS en detalle?

205. ¿Qué son el recolector de basura de nueva generación y el recolector de basura de vieja generación? ¿Cual es la diferencia?

206. Describa brevemente cómo funciona el recolector de basura generacional.

207. Háblame de las herramientas para el ajuste de JVM.

208. ¿Cuáles son los parámetros de ajuste de JVM comúnmente utilizados?

Resumir:

Todas las preguntas de la entrevista no son estáticas. Las preguntas de la entrevista anteriores son solo para que todos las usen como referencia. Lo más importante es aumentar la reserva de conocimiento para usted y estar preparado. Las respuestas a las últimas más de 200 preguntas de la entrevista de Java en 2020 compartidas anteriormente se compilan en documentos PDF.

Siga la cuenta oficial: Programmer Chasing Wind, responda [009] para obtener la información anterior.

 

Supongo que te gusta

Origin blog.csdn.net/Design407/article/details/109546639
Recomendado
Clasificación