Los programadores de Java saltaron y fueron rechazados por tres lados porque no podían permitirse reclutar

El programador Xiao Li ha trabajado en ciudades costeras durante 8 años. El rápido aumento de los precios de la vivienda limita la idea del programador Xiao Li de reubicarse en ciudades de primer nivel. Además, el brote repentino de la epidemia ha dejado al descubierto la inconveniencia de trabajar lejos, debido a varios factores. , El programador Xiao Li decidió irse a casa a trabajar.

Ahora que nos hemos decidido a despedirnos de las ciudades de primer nivel y regresar a sus lugares de origen, significa que están listos para bajar los salarios.

Sucede que una empresa de Internet está contratando personas, ingenieros de desarrollo de Java, y el rango salarial es de 18K ~ 25K .

El programador Xiao Li echó un vistazo, ¡oh, no es muy bajo! Así que envié mi currículum y esperé la invitación para la entrevista.

En dos días, llegó la invitación a la entrevista ... El programador Xiao Li fue a la cita según lo programado. Después de las dos primeras entrevistas, ocurrió la siguiente situación ...

Los programadores de Java están cambiando de trabajo y han pasado por los tres aspectos. Entrevistador: Usted es así, no podemos permitirnos

 

Entrevistador: Hábleme de la diferencia entre dormir y esperar.

Programador Xiao Li: Oh, esto es simple

1. Para el método sleep (), primero debemos saber que el método pertenece a la clase Thread. El método wait () pertenece a la clase Object.

2. El método sleep () hace que el programa suspenda la ejecución durante el tiempo especificado, abandonando el otro subproceso de la cpu, pero su estado de supervisión aún se mantiene, y reanudará automáticamente su estado de ejecución cuando se acabe el tiempo especificado.

3. En el proceso de llamar al método sleep (), el hilo no liberará el bloqueo del objeto.

4. Cuando se llama al método wait (), el subproceso abandonará el bloqueo del objeto y entrará en el grupo de bloqueo en espera que espera este objeto. Solo después de que se llame al método notificar () para este objeto, el subproceso ingresa al grupo de bloqueo del objeto y se prepara para adquirir el bloqueo del objeto y entrar en la operación estado.

Entrevistador: Bueno, sí, hablemos del grupo de subprocesos.

Programador Xiao Li: Uh ~ ¿Estás hablando de esos cuatro grupos de subprocesos? ¿O cómo funciona el grupo de subprocesos?

Entrevistador: Uh ~ ¡Entonces cambie la pregunta! ¿Qué es el middleware?

Programador Xiao Li:

El middleware es el software entre el sistema operativo y el programa de aplicación. Cuando se utiliza, un grupo de middleware a menudo se integra para formar una plataforma (plataforma de desarrollo + plataforma en ejecución). Debe haber un middleware de comunicación en este grupo de middleware. Es decir, middleware = plataforma + comunicación. Esta definición también restringe que se puede llamar middleware solo cuando se usa en sistemas distribuidos.

 

Categorías principales: llamada a procedimiento remoto, middleware orientado a mensajes, agente de solicitud de objetos, supervisión del procesamiento de transacciones.

Entrevistador: Entonces, si diseñara un middleware usted mismo, ¿cómo lo diseñaría?

Programador Xiao Li: Consideraré los siguientes aspectos:

1. Llamada a procedimiento remoto

2. Orientado a mensajes: utilice un mecanismo de transferencia de mensajes eficiente para el intercambio de datos independiente de la plataforma y proporcione comunicación de datos para integrar sistemas distribuidos. Tiene las siguientes tres características:

· El  programa de comunicación puede ejecutarse en diferentes momentos

·  Comunicación Chenxu Home puede ser uno a uno, uno a muchos, muchos a uno o incluso una combinación de los métodos anteriores.

· El  programa coloca el mensaje en la cola de mensajes y saca el mensaje de la pequeña columna de medicamentos para la comunicación

3, Object Request Broker: proporcionar diferentes formas de servicios de comunicaciones, incluyendo la sincronización, la puesta en cola, publicación de suscripción, la radiodifusión y así sucesivamente .

Se pueden construir varios marcos, como el monitor de procesamiento de transacciones, el acceso a datos distribuidos, el administrador de transacciones de objetos OTM, etc.

4. La supervisión del procesamiento de transacciones tiene las siguientes funciones:

· Gestión de procesos , incluido el inicio del proceso del servidor, la asignación de tareas, el seguimiento de su ejecución y el equilibrio de la carga

· Gestión de transacciones para asegurar la atomicidad, consistencia, independencia y durabilidad del procesamiento de transacciones bajo su supervisión

· Gestión de la comunicación , proporcionando múltiples mecanismos de comunicación entre cliente y servidor, incluyendo respuesta a solicitudes, conversación, colas, publicación y difusión de suscripciones, etc.

Entrevistador: Bueno, muy bien, ¿cómo hacer esa optimización de MySQL?

Programador Xiao Li: La optimización de MySQL generalmente puede comenzar con la selección del motor de almacenamiento, la selección de tipos de campos, la selección de índices, particiones y subtabla, replicación maestro-esclavo, separación de lectura y escritura, optimización SQL, etc.

Bueno, por ejemplo, en términos de motores de almacenamiento, usamos declaraciones SQL al crear tablas ...

Entrevistador: Está bien , no es necesario que sea demasiado detallado, no entiendo, bueno, ¡hablemos de Redis!

Los programadores de Java están cambiando de trabajo y han pasado por los tres aspectos. Entrevistador: Usted es así, no podemos permitirnos

 

¿Cuáles son los clientes Java compatibles con Redis? ¿Cuál es la recomendación oficial?

Programador Xiao Li: Redisson, Jedis, lechuga, etc., se recomienda oficialmente Redisson.

Entrevistador: ¿Cómo optimiza Redis la memoria?

Programador Xiao Li: Use tablas hash tanto como sea posible. La memoria utilizada por las tablas hash (lo que significa que el número almacenado en la tabla hash es pequeño) es muy pequeña, por lo que el modelo de datos debe abstraerse en una tabla hash tanto como sea posible.

Por ejemplo, hay un objeto de usuario en el sistema web. No establezca una clave separada para el nombre del usuario, apellido, dirección de correo electrónico y contraseña. En su lugar, almacene toda la información del usuario en una tabla hash.

Entrevistador: ¿Conoce también la avalancha y penetración del caché de Redis ?

Programador Xiaoli: Bueno, lo sé, la avalancha de caché es un área grande de falla de caché al mismo tiempo, así que ...

Entrevistador: Está bien, ejem ~

El entrevistador sacó el pañuelo de papel de su bolsillo derecho con la mano izquierda y se secó el sudor.

Los programadores de Java están cambiando de trabajo y han pasado por los tres aspectos. Entrevistador: Usted es así, no podemos permitirnos

 

Entrevistador: Bueno, su desempeño es muy bueno y sus habilidades técnicas también muy sólidas. Incluyéndome a mí, los dos primeros entrevistadores también están muy satisfechos ...

El programador Xiaoli estaba encantado y ya estaba seguro del trabajo.

Entrevistador: Pero es así, en lo que respecta a su situación, no podemos permitirnos el lujo de contratar, queremos contratar a uno más barato

Programador Xiao Li: ¿Eh? No importa, solo sigue el rango de salario que emitiste ...

Entrevistador: Déjame decirte la verdad, eso es lo atractivo escrito en él. De hecho, ni siquiera podemos llegar al más bajo. Entonces, si aceptas 10K, mañana vendrás a trabajar.

Programador Xiaoli: Eso es todo ~ Ha pasado mucho tiempo para mí, así que déjame ir a casa primero, ¡puedes esperar el aviso!

Los programadores de Java están cambiando de trabajo y han pasado por los tres aspectos. Entrevistador: Usted es así, no podemos permitirnos

 


Tiempo de chismes

En la historia anterior, el programador Xiao Li en realidad tiene fuertes habilidades técnicas. Sin embargo, la empresa de Internet entrevistada era solo una empresa pequeña y no podía permitirse talentos como él. Se puede ver que incluso el nivel técnico del entrevistador No es alta. Sin embargo, encontrará que no importa qué tan grande sea la empresa y si la tecnología es necesaria o no, harán preguntas más amplias y profundas.

En cualquier caso, solo mediante el dominio de habilidades más amplias y profundas los programadores pueden aplastar al entrevistador y tomar la iniciativa en sus propias manos.

Compartamos algunos libros electrónicos, preguntas reales de entrevistas con empresas de Internet de primera línea y videos de arquitectura para ayudarlo a aprender y entrevistar. Amigos que quieren conseguir: después de que quieras, puedes enviar un mensaje privado a [materiales de aprendizaje] (asegúrate de seguirme, de lo contrario no hay forma de responder al mensaje privado de un extraño)

Libro electronico

 

 

Clasificación temática de preguntas de entrevistas reales

 

Video de arquitectura 

Supongo que te gusta

Origin blog.csdn.net/bjmsb/article/details/108518154
Recomendado
Clasificación