Una entrevista javaer Python | Intento

Primera cara de pitón

1. La razón inicial

​ Hoy es 18 de junio de 2022, en Guangzhou, la lluvia moderada se volvió nublada. (No el pronóstico del tiempo) Fui a una entrevista tranquilamente el fin de semana con nerviosismo y emoción. Dije que era una entrevista, pero en realidad era casi como jugar (el ambiente de trabajo en la empresa es muy bueno, el aire acondicionado es muy frío, y hay muchos bocadillos, pero yo no estoy de humor para disfrutar). Se adjunta una foto al azar en ese momento, lo que realmente prueba que realmente fui a la entrevista en ese momento.
inserte la descripción de la imagen aquí

¿Por qué dices jugar? Hay tres razones principales:

1. Recibió la notificación de la entrevista el día 16, menos de dos días antes de la entrevista. (Quiero tratar de prepararme, pero tengo demasiados puntos de conocimiento, así que simplemente lo pongo mal)

2. El puesto que quiero entrevistar es un ingeniero asistente de Python (prácticas) .No sabía nada sobre este puesto antes, y casi no sabía lo que hace, pero la primera impresión debe estar relacionada con el análisis de datos o los datos. Minería (Me parece que Python es el que más se usa en estas áreas). Al ver esto, alguien puede preguntar: ¿No aprendiste Java? Cómo encontrar una posición de Python. Hablaré de esto más tarde.

3. La oportunidad de la entrevista es, por supuesto, de mi alma mater, y la empresa es una empresa cooperativa contratada por nuestra escuela. En ese momento, recuerdo que envié un cuestionario para completar la solicitud de pasantía y luego concerté una entrevista. Por supuesto, llené el cuestionario, busqué y no encontré nada relacionado con Java, solo había un puesto técnico, que era un asistente de ingeniero de Python en prácticas . En ese momento, también estaba impaciente, especialmente quería encontrar una pasantía y quería ponerme en contacto con el desarrollo de nivel empresarial real, así que solicité Python.

2. tristeza por primera vez

Sin embargo, para mi sorpresa, pasé la selección preliminar y recibí un aviso de entrevista. (Como se muestra abajo)

inserte la descripción de la imagen aquí

Estaba tan emocionada en ese momento, porque al principio no tenía ninguna esperanza y no esperaba poder pasar la evaluación preliminar.

Pero pronto me volví a preocupar: asistente de Python, ¿qué se preguntará en la entrevista? Realmente no he aprendido sobre el sistema de conocimiento de Python en detalle (el único contacto puede ser que haya tomado cursos electivos públicos antes, y no cuenta si PyCharm está instalado en la computadora). Así que elegí la forma más conservadora y estúpida: solo elegí revisar la gramática más básica de Python (no creo que los internos deban preguntar demasiado).

A medida que se acercaba la entrevista, es decir, en la noche del 17, encontré accidentalmente los requisitos del trabajo (la fuente específica parece ser la información del tweet de la cuenta oficial de emprendimiento de la escuela), y mi corazón tranquilo volvió a estar fresco. consulte ¡Consulte los requisitos específicos del trabajo!

inserte la descripción de la imagen aquí

Cuando vi que solo se reclutaron dos personas, supe que el 99% de la probabilidad de esta entrevista era acompañar la entrevista. Mírelo, Python es realmente bueno y tiene requisitos muy altos para las capacidades de recopilación de datos. Volviendo a mirarme a mí mismo, aunque Java ha escrito muchos proyectos, muchos de ellos son proyectos con arquitecturas tradicionales, como servicios de pago y proyectos de centros comerciales. ¡El grado coincidente es casi 0!

Pero después de pensarlo, aunque es posible que no tenga un alto grado de coincidencia, después de todo, esta también es la primera oportunidad de una entrevista para un puesto técnico en el camino del autoaprendizaje, y vale la pena intentarlo, así que mordí la bala y fui a la entrevista. Así que ahí está la escena de apertura.

3. Waterloo por primera vez

Cuando tus sueños cobran vida, eres imparable, intenta perseguir al sol y encuentra lo hermoso, brillaremos en la oscuridad convirtiendo el polvo en oro.

.Y pues soñarlo posible, Es posible...... Me despertó el maravilloso canto de Delacey, así es, ya son las 7 de la mañana del día 18, y voy a entrevistar hoy!

Hoy debería ser el primer día de mi carrera universitaria, así que cuando sonó la alarma, me levanté rápidamente, porque no quería llegar tarde al primer día de la entrevista de hoy. Después de todo, no fui solo. Grupo, pero mi amigo no se está entrevistando para un puesto técnico, por lo que no competirá conmigo hhhh

Pronto terminé todo. Era realmente como un hombre muerto, día y noche, y pronto eran las 8:20, así que fui a la empresa con Didi. Lamentablemente, llovió levemente esa mañana. En resumen, me siento muy mal. En el camino, también usé mi teléfono móvil para buscar muchos puntos de conocimiento sobre la entrevista, cómo presentarme mejor en la entrevista, cómo hacer preguntas al final de la entrevista, etc. Leí mucho y todavía no puedo recordarlo, y lo olvidé todo de una sola vez.

Después de bajar del autobús, la lluvia se hizo más fuerte, así que comencé a buscar un lugar para la entrevista, en el piso 8, afortunadamente hay ascensor, de lo contrario estaría muy cansado.

Al ingresar a una empresa, el primer paso debe ser llenar el formulario, recuerdo que un filósofo dijo una vez que la vida de una persona va acompañada de llenar el formulario desde que nace, ya sea en el llenado del formulario o en el camino para llenar el formulario. forma. Y antes de la primera entrevista, descubrí inesperadamente que el llamado formulario de llenado es esencialmente las preguntas que debemos completar en el cuestionario anterior: como nombre, edad, lugar de origen, honores escolares, certificados, habilidades, etc. En resumen , muchos de ellos son clichés. .

Pronto me llamaron para una entrevista, el entrevistador tenía unos veinticinco o seis años y parecía bastante joven.

Pronto comenzó la entrevista:

  1. P: Entonces nuestra entrevista comenzará oficialmente, ¡primero hagamos una presentación simple!

Respuesta: Hola entrevistador, soy estudiante de xx en la universidad xxx...

De hecho, ya ha ingresado al proceso de entrevista aquí.

Primera pregunta:

  1. Pregunta: Bien, veo que su currículum parece ser principalmente sobre Java. ¿Alguna vez ha aprendido sobre Python antes?

Respuesta: Bueno, he aprendido sobre esto, sé que tanto Java como Python son lenguajes de programación orientados a objetos. Ambos son lenguajes interpretados. (Personalmente, la respuesta a este lugar no es buena. El entrevistador hizo esta pregunta obviamente esperando que le dijera algunas ventajas y desventajas de Python)

Resumen: principalmente sobre algunas características y deficiencias de Python (principalmente desde el nivel de lenguaje)

  • La sintaxis de Python es relativamente simple, muy amigable para los principiantes en programación y los requisitos de formato para el código no son tan estrictos.

  • Python es de código abierto, y el código fuente de Python está abierto a todos los usuarios. Este lugar tiene dos significados: el código escrito por los programadores que usan Python es básicamente de código abierto, y los intérpretes y módulos de Python son de código abierto (como las bibliotecas más comunes). como web2py webpy, etc.)

  • Python es un lenguaje de alto nivel que encapsula muchos detalles de bajo nivel. A diferencia de C o C++, que necesita administrar la aplicación y liberar memoria por sí mismo, es fácil de usar y no necesita prestar atención a los detalles.

  • Python es un lenguaje orientado a objetos, y las características orientadas a objetos son muy comunes en el desarrollo de aplicaciones comunes a gran escala. Pero las características orientadas a objetos significan que no es tan fácil de entender como la orientación a procesos, después de todo, todo tiene dos lados.

  • Python también es multiplataforma y también tiene una gran escalabilidad.Tiene una gran cantidad de bibliotecas de clases y bibliotecas de terceros para que las usemos.

  • Dado que Python es un lenguaje interpretado, el llamado lenguaje interpretado traduce y ejecuta el código fuente al mismo tiempo, y la velocidad de ejecución es relativamente lenta, a diferencia de los lenguajes compilados, que traducen directamente el código fuente en su totalidad y lo ejecutan juntos.

  • El cifrado del código Python es difícil. El quid principal radica en las características del lenguaje interpretado. El código fuente del lenguaje compilado compilará directamente el código fuente en un archivo ejecutable, mientras que Python ejecuta directamente el código fuente. El cifrado es más difícil,

Segunda pregunta:

  1. P: Entonces cuénteme sobre las principales áreas de aplicación de Python.

Respuesta: Hasta donde yo sé, las principales áreas de aplicación de Python se encuentran en los campos de la inteligencia artificial y el big data, ya que su sintaxis es mucho más sencilla que la de otros lenguajes.

Resumen: responde el campo de la solicitud + razones específicas

  • El primero es el campo de la inteligencia artificial, una de las razones por las que es más popular en el campo de la inteligencia artificial es que la sintaxis es relativamente concisa (por otro lado, Java también se puede aplicar al campo de la inteligencia artificial), y en segundo lugar , tiene una biblioteca ecológica muy completa. , que tiene una gran cantidad de bibliotecas para que las personas las usen. Finalmente, es muy simple y portátil, lo que permite a los investigadores enfocarse más en el diseño de algoritmos.
  • El segundo es el desarrollo web. Python tiene muchas bibliotecas de funciones de datos gratuitas, sistemas de plantillas de páginas web gratuitas y bibliotecas para interactuar con servidores web, que pueden realizar desarrollo web y crear marcos web. Actualmente, el marco web de Python más famoso es Django. Los que se dedican a este campo deben aprender de los datos, los componentes, la seguridad y otros campos, comprender su principio de funcionamiento desde abajo y ser capaces de controlar cualquier marco web convencional en la industria.
  • El tercero es la operación y el mantenimiento automatizados. Python es un lenguaje integral que puede satisfacer la mayoría de las necesidades de la operación y el mantenimiento automatizados. Se pueden realizar tanto el front-end como el back-end. Si se dedica a este campo, debe comenzar desde el nivel de diseño. , selección de marco, flexibilidad, escalabilidad, solución de problemas y cómo optimizar y otros aspectos del aprendizaje.
  • El último es la minería de datos y el análisis de datos. En el futuro, quien tenga los datos tendrá la iniciativa, y Python tiene muchas bibliotecas de terceros para la computación científica.

La tercera pregunta:

  1. P: De hecho, Python también tiene clases, entonces, ¿puede hablar brevemente sobre la diferencia entre las clases de Python y Java?

Respuesta: Er... (Realmente no sé esto, y deje que el entrevistador lo omita)

Resumen: simplemente compare las diferencias entre las clases de Java y Python (porque ambos son lenguajes orientados a objetos)

  • El primero es el control de acceso. El control de acceso de Java es relativamente estricto. Hay cuatro tipos principales, privado, predeterminado, protegido y público. Los permisos varían de menor a mayor. Comparado con Python, no es tan estricto. Este tipo de calificación , y python no tiene modificadores obvios, los atributos que comienzan con guiones bajos dobles ("_ _') no son públicos, mientras que otros son públicos.
  • El segundo es la relación entre la definición de clase y la unidad de compilación (archivo). Java tiene dos formas diferentes de clase pública y clase, mientras que Python no tiene restricciones en las clases. Esta diferencia se refleja en la ingeniería. Las clases públicas en Java deben estar definidas en un archivo con el mismo nombre, por lo que solo se puede definir una clase pública en un archivo. Python, por otro lado, no tiene esta limitación y puede definir múltiples clases en un módulo.
  • Finalmente, en términos de herencia, Java no admite herencia múltiple, mientras que Python admite herencia múltiple, y para lograr el polimorfismo, Python usa la forma "tipo pato" para lograr un propósito similar a las interfaces.

Cuarta pregunta:

  1. Pregunta: Vi en su currículum que está familiarizado con el sistema operativo Linux, entonces, ¿puede hablar sobre algunos comandos comunes del sistema operativo Linux de uso común?

Respuesta: Sí, los más utilizados son cd ps chmod chown ./ …/ sync mkdir vim etc.

Esta pregunta es relativamente simple, respondí algunos comandos comunes del sistema operativo Linux más utilizado, siento que el entrevistador está bastante satisfecho con esta parte, también conversé con él sobre el sistema operativo deepin que el autor está usando actualmente.

inserte la descripción de la imagen aquí

El sistema operativo deepin, o deepin, es un sistema operativo Linux desarrollado por Wuhan Shenzhidu Technology Co., Ltd. sobre la base de Debian. Su antecesor es el sistema operativo Hiweed Linux. Fue lanzado el 28 de febrero de 2004 y se puede instalar en computadoras personales y en el servidor [1].

El sistema operativo deepin integra Deepin Desktop Environment (comúnmente conocido en chino como Deepin Desktop Environment) y es compatible con deepin store, deepin Music, deepin Movie y otro software de aplicación propio.

Aquí tengo que mencionar el entorno de escritorio Deepin, es decir, DDE, en mi tweet anterior sobre la instalación de OpenEuler, introduje en detalle cómo instalar este entorno.

El autor recomienda que los amigos que usan el sistema operativo Linux para el trabajo de oficina lo prueben, hay tres razones principales para la recomendación:

  1. Este es un entorno de escritorio desarrollado de forma independiente por Deepin Technology de mi país, con derechos de propiedad intelectual independientes.
  2. Dado que Deepin Technology lo desarrolla de forma independiente en mi país, en comparación con otros entornos de escritorio (como GNOME, KDE, etc.), personalmente creo que se ajusta más a los hábitos de uso de los chinos. (La interfaz de usuario es similar a Windows+MacOS)
  3. A medida que deepin se vuelve cada vez más popular, algunas distribuciones principales de Linux integran directamente el entorno de escritorio deepin y las aplicaciones de la serie deepin.

Quinta pregunta:

  1. P: ¿Puede hablar sobre los tipos comunes de índices de MySQL?

Respuesta: También hay un índice de clave principal... (Esta pregunta realmente no tiene respuesta, principalmente porque el índice no se usa mucho en momentos normales, porque la cantidad de datos es demasiado pequeña, solo sé que hay una clave principal índice, pero también se usa. No mucho, después de todo, aunque el índice es rápido, también tiene desventajas obvias)

Resumen: ¿Cuáles son los tipos de índice comunes de MySQL?

  1. El índice ordinario es el índice más básico. No tiene restricciones y el valor puede estar vacío , solo para acelerar la consulta. Los índices se pueden crear y eliminar de las siguientes maneras:
  • crear índice directamente
CREATE INDEX index_name ON table(column(length))
  • Cómo modificar la estructura de la tabla para agregar índices
ALTER TABLE table_name ADD INDEX index_name ON (column(length))
  • eliminar índice
DROP INDEX index_name ON table
  1. Un índice único es similar a un índice normal. La diferencia es que el valor de la **columna de índice debe ser único y se permiten valores nulos. ** En pocas palabras, es un índice único: acelerar la consulta + valor de columna único (puede tener un valor nulo)
  • Crear un índice único
CREATE UNIQUE INDEX indexName ON table(column(length))
  • modificar la estructura de la tabla
ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))
  • eliminar índice único
DROP  UNIQUE INDEX index_name ON table
  1. El índice de clave principal es un índice único especial. Una tabla solo puede tener una clave principal y no se permiten valores nulos. En pocas palabras, es: consulta más rápida + valor de columna único (no puede ser nulo) + solo uno en el mesa

Generalmente, el índice de clave principal se crea al mismo tiempo que se crea la tabla.

CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMARY KEY(ID) );

PRIMARY KEY(ID)Indica el índice de clave principal y puede usar ALTER para crear el índice de clave principal

ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` ) 
  1. Un índice compuesto hace referencia a un índice creado en varios campos . El índice se utilizará solo cuando la condición de consulta utilice el primer campo del índice. Use índices compuestos para seguir las colecciones de prefijos más a la izquierda .

Un índice compuesto es un índice compuesto por valores de varias columnas, que se usa especialmente para búsquedas compuestas , y su eficiencia es mayor que la de la fusión de índices.

ALTER TABLE `table` ADD INDEX name_city_age (name,city,age);
  1. El índice de texto completo se usa principalmente para encontrar palabras clave en el texto, en lugar de comparar directamente con los valores del índice. El índice de texto completo es muy diferente de otros índices, se parece más a un motor de búsqueda que a una simple comparación de parámetros de la instrucción where. El índice de texto completo se usa con la operación de coincidencia en lugar de la instrucción general where más me gusta. La indexación de texto completo consiste en segmentar el contenido del texto para la búsqueda.
  • Crear un índice de texto completo directamente
CREATE FULLTEXT INDEX index_content ON article(content)
  • Modificar la estructura de la tabla y agregar un índice de texto completo
ALTER TABLE article ADD FULLTEXT index_content(content)

Aviso:

Antes de la versión 5.6 de MySQL, solo el motor de almacenamiento MyISAM admitía el motor de texto completo. En la versión 5.6, InnoDB agregó soporte para la indexación de texto completo, pero no admitió la indexación de texto completo en chino. En la versión 5.7.6, MySQL incorporado Analizador de texto completo de ngram, utilizando Para admitir la segmentación de palabras en idiomas asiáticos.

En términos generales, no tengo una comprensión sólida de este aspecto. Los índices de MySQL, las tablas y varios bloqueos son preguntas de entrevista de alta frecuencia, que son difíciles y muchas.

Sexta pregunta:

  1. Bien, ¿conoces los cuatro principios de las transacciones de bases de datos?

Respuesta: Se refiere principalmente al principio ACID, atomicidad, persistencia, aislamiento... modo fácil)

Resumen: Los cuatro principios de las transacciones de bases de datos:

  1. A ( Atomicidad ): La atomicidad significa que una transacción se ejecuta por completo o no se ejecuta, es decir, es imposible que una transacción se detenga después de la mitad de la ejecución.
  2. C ( Consistencia ): Significa que la operación de la transacción no cambia la consistencia de los datos en la base de datos. Por ejemplo, la restricción de integridad a+b=10, una transacción cambia a, luego b también debe cambiarse.
  3. I ( Aislamiento ): Se refiere al estado en que dos o más transacciones no serán intercaladas. Debido a que esto puede generar inconsistencia en los datos, más específicamente, las operaciones entre transacciones son independientes.
  4. D ( Durabilidad ): después de que la transacción se ejecuta con éxito, los cambios realizados por la transacción en la base de datos se almacenan permanentemente en la base de datos y no se revertirán sin ningún motivo.

Expansión: Los niveles de aislamiento de las transacciones son:

1. Read uncommitted (Read uncommitted), este es el nivel de aislamiento con mayor concurrencia y peor consistencia. Se pueden leer diferentes datos, es decir, se producen lecturas sucias

2. Lectura comprometida (Read commit); puede evitar lecturas sucias

3. Lectura repetible (Repeatable read), la base de datos está habilitada por defecto, puede evitar la ocurrencia de lecturas sucias y lecturas no repetibles . (Lectura no repetible significa que para ciertos datos en la base de datos, múltiples consultas dentro de un rango de transacciones devuelven resultados diferentes, porque los datos son modificados y enviados por otra transacción durante el proceso de consulta).

4. Serializable (Serializable): puede evitar la ocurrencia de lecturas sucias, lecturas no repetibles y lecturas fantasma. (La lectura fantasma se refiere a un fenómeno que ocurre cuando las transacciones no se ejecutan de forma independiente. Por ejemplo, la transacción T1 modifica un elemento de datos de todas las filas de una tabla de "1" a "2", y luego la transacción T2 cambia una fila de elementos de datos se inserta en esta tabla, y el valor de este elemento de datos sigue siendo "1" y se envía a la base de datos. Si el usuario que opera la transacción T1 verifica los datos recién modificados, encontrará que todavía hay una fila que no ha sido modificado De hecho, esta fila Se agrega de la transacción T2, como si fuera una alucinación, esta es la ocurrencia de lectura fantasma)

Nivel de aislamiento de bajo a alto. Cuanto mayor sea el nivel, menor será la eficiencia de ejecución.

Séptima pregunta:

  1. P: El currículum dice que está familiarizado con las bases de datos no relacionales. ¿Puede decirme lo que ha aprendido en detalle?

Respuesta: Incluye principalmente la base de datos de caché de Redis en la base de datos no relacional y la base de datos de documentos MongoDB

Pregunta: Ok, entonces, ¿puede hablar sobre la penetración de caché, la ruptura de caché y la avalancha de caché en redis? Simplemente pon.

Respuesta: esta penetración en la memoria caché se refiere principalmente a las solicitudes frecuentes de datos que no están en la base de datos de la memoria caché. Debido a que no hay datos en la memoria caché, debe ir a la base de datos de la capa de persistencia para consultar, por lo que se realizan solicitudes frecuentes a la base de datos de la capa de persistencia. y no se puede consultar en la base de datos. , hasta que la base de datos se arrastra hacia abajo, lo que hace que el servidor se caiga.

El desglose del caché se refiere a la falla de los datos calientes en un momento determinado, y hay una gran cantidad de solicitudes de estos datos en este momento. Debido a que los datos en el caché han expirado, la base de datos del caché se omite directamente y una gran cantidad de solicitudes se realizan en la base de datos de la capa de persistencia, lo que provoca el tiempo de inactividad del servidor.

La avalancha de caché se debe principalmente a la caducidad de una gran cantidad de datos almacenados en caché en un momento determinado y, en este momento, una gran cantidad de solicitudes de datos a la base de datos provocan un tiempo de inactividad.

Resumen: soluciones correspondientes

  • Para penetración de caché:
    • Verifique los parámetros de la solicitud, regrese directamente si no es razonable
    • Los datos que no se pueden consultar también se colocan en la memoria caché y el valor está vacío, como establecer -999
    • Use el filtro Bloom para determinar rápidamente si la clave existe en la base de datos y devolverla directamente si no existe
  • Para desglose de caché:
    • Configure la clave para que nunca caduque, o cuando esté a punto de caducar, reinicie la clave a través de otro subproceso asíncrono
    • Cuando los datos obtenidos de la caché son nulos, el proceso de recarga de datos de la base de datos se bloquea
  • Para avalancha de caché:
    • Analice el comportamiento del usuario e intente distribuir los puntos de tiempo de falla de manera uniforme. Evite la avalancha de caché
    • Use el conteo de bloqueos o use una cantidad razonable de colas para evitar demasiada presión sobre la base de datos cuando falla el caché.

Octava pregunta:

9. Pregunta: (Miró el currículum) Si está familiarizado con el marco SSM, ¿puede hablar sobre las tres letras en SpringMVC: qué significa MVC?

Respuesta: M significa Modelo significa modelo de datos, V significa Vista significa vista de usuario, C significa Controlador significa controlador

Pregunta: De acuerdo, sabe que Java tiene una arquitectura de tres niveles de SpringMVC, entonces, ¿cree que Python puede implementar una arquitectura de tres niveles de MVC?

Respuesta: Personalmente, creo que Python puede realmente realizar el modelo de arquitectura de tres niveles de MVC, porque MVC es esencialmente un tipo de arquitectura, un tipo de pensamiento, y no depende de un lenguaje específico en esencia. El lenguaje es solo una herramienta, y Las ideas son Es lo más importante para resolver la demanda.

Resumen: Python también puede implementar la arquitectura MVC en esencia, por ejemplo, el conocido marco web de Python: django, que utiliza el pensamiento en capas de MVC para separar los datos de los controles y vistas correspondientes. El aprendizaje de la programación se trata esencialmente de aprender ideas de diseño, y la gramática del lenguaje es solo secundaria.

Novena pregunta:

  1. P: Después de aprender MVC, hablemos de la diferencia entre publicar y obtener

Respuesta: La solicitud de obtención principalmente coloca el valor del parámetro en la URL, y la publicación principalmente no muestra el valor del parámetro. Y get se usa principalmente para consultar algunos datos y pasarlos de acuerdo con los parámetros especificados. post se utiliza principalmente para el envío de formularios web, porque algunos valores de valor son invisibles. (Siento que hay una diferencia, pero parece que no)

Resumen: La principal diferencia entre Publicar y Obtener

  1. Los datos enviados por GET se colocan en la URL y los datos enviados por POST no. Esta es la diferencia más obvia. Esto significa que GET es más inseguro (POST tampoco es seguro, porque HTTP puede obtener contenido de datos capturando paquetes en transmisión de texto claro, y debe estar encriptado para que sea seguro)
  2. La reversión de GET es inofensiva para el navegador, y POST enviará la solicitud nuevamente (después de revertir el método GET, el navegador obtendrá el resultado en el caché y POST creará un nuevo recurso cada vez)
  3. El tamaño de los datos enviados por GET es limitado (porque el navegador tiene un límite en la longitud de la URL, GET no tiene límite), POST no
  4. GET se puede guardar como marcador, POST no
  5. GET se puede almacenar en caché, POST no
  6. GET solo permite caracteres ASCII, POST no tiene límite
  7. GET se guardará en el historial del navegador, POST no

Décima pregunta:

  1. P: ¿Puede hablar brevemente sobre el tipo de burbujas?

Respuesta: (No respondí esto en absoluto. Aprendí a clasificar burbujas antes y lo implementé en Java, pero como no lo he tocado en mucho tiempo, muchos de ellos lo han olvidado)

Resumen: Algoritmo de clasificación de burbuja

  1. Compara elementos adyacentes. Si el primero es mayor que el segundo, intercámbialos a ambos;
  2. Haz lo mismo para cada par de elementos adyacentes, desde el primer par al principio hasta el último par al final, de modo que el elemento al final sea el número más grande;
  3. Repita los pasos anteriores para todos los elementos excepto el último;
  4. Repita los pasos 1 a 3 hasta que se complete la clasificación.

Los algoritmos son tanto un punto doloroso como una dificultad. No puede dejar de hacer preguntas sobre Likou, y debe dominar la clasificación básica y la búsqueda binaria. A menudo hará preguntas en las entrevistas. Aquí, el algoritmo de clasificación de burbujas más básico también se pregunta en la entrevista de prácticas.

Undécima pregunta:

12. Pregunta: Veo que tu currículum está lleno de Java, ¿quieres trabajar en Java o Python en el futuro?

Respuesta: (Pensando por unos segundos) La alta probabilidad es java (Aunque sé que esto es una proposición, esperaba que respondiera python, pero aun así respondí Java, sí, amo Java para siempre)

En resumen, de hecho, esta pregunta es bastante significativa, porque el puesto de entrevista es Python, pero solo tengo algunos conocimientos básicos de Python, que obviamente no cumple con los requisitos del puesto, pero aún así hizo la pregunta de Java o Python, tal vez Recuérdame que para una entrevista para un puesto de Python, debes tener más conocimiento de Python. (suposición personal)

Duodécima pregunta:

  1. P: ¿Tiene alguna pregunta?

    Respuesta: (imprudente) quisiera saber como son los beneficios de su empresa?
    P: En cuanto a esto, depende del trabajo específico del pasante, y tenemos fines de semana y fines de semana. ¿Hay algo más que preguntar?
    R: Um, no por el momento.
    P: OK, entonces nuestra entrevista de hoy ha terminado.
    Respuesta: OK, gracias! (Cuando salí, sentí frío. Porque no sentí que respondí muy bien)

Terminado, la entrevista ha terminado, y me siento completamente genial. Para resumir un poco:

  1. Preste atención a lo básico, lo básico, lo básico, y diga las cosas importantes tres veces. No es realista exigir experiencia en proyectos para entrevistas y pasantías, por lo que la base es muy importante, entonces, ¿cuál es la base? Creo que la base. es: estructura de datos y algoritmo, sistema operativo, computadora Principios de composición, redes de computadoras y la gramática básica del idioma que aprendes (¡¡¡esto debe ser familiar para ti !!!!)
  2. La entrevista es en realidad una guerra psicológica, no te pongas demasiado nervioso, de lo contrario afectará mucho tu desempeño.
  3. Asegúrese de prepararse, y no puede ir a la entrevista sin preparación, de lo contrario, avergonzará al entrevistador y a usted (así es como hice esta entrevista). **Entrevista para construir cohetes, entrada para atornillar tornillos. **Al menos la realidad es una gran tendencia.
  4. El currículum es muy importante. Al hacer un currículum, debe tener un resultado final en mente. Si obtiene un puntaje total de 100, ¿en qué rango se encuentra su nivel ? Demasiado inmodesto, al menos para esta industria, la familiaridad ya es la redacción más cercana. al techo
  5. La apariencia durante la entrevista debe ser limpia y ordenada, y darle al entrevistador una sensación de vitalidad.Después de todo, nadie quiere que los hombres jóvenes o las mujeres hermosas que trabajen con ellos en el futuro sean lentos, lo que realmente afecta el estado de ánimo del trabajo. .
  6. Finalmente, personalmente creo que el entrevistador no debe pensar que el entrevistador sabe mucho, de hecho, muchas veces puede que no sea así, no se dé la sensación de que el entrevistador puede lograr una reducción de la dimensionalidad, piénselo bien. Si pasa la entrevista con éxito, serán colegas en el futuro. Hay una diferencia de nivel. De hecho, no es tan grande, excepto para algunos que son realmente maestros técnicos. Si realmente lo encuentra, es realmente una buena oportunidad de aprendizaje. .

El resultado de la entrevista fue el mismo que esperaba. No aprobé, pero no fue un gran problema. La primera entrevista de prácticas, lo importante es acumular experiencia, revisar las lagunas y suplir las omisiones. Muchas veces lo que el entrevistador señaló puede ser realmente a lo que deba prestar atención. Tal vez vuelva a preguntar en la próxima entrevista, por lo que debe resumir y revisar a tiempo. (Aunque de hecho llegué un poco tarde, pero la memoria aún está fresca).

Al final, espero que todos podamos hacerlo:
saber lo que puedo hacer, lo que puedo hacer y ser perfecto. Los que saben lo que no puedo y lo que no puedo tener son tan humildes como un valle .

Revisión anterior

Descripción general de Linux
Disco de Linux y programa de inicio
Estructura de directorios bajo Linux
Instalación de niñera de OpernEuler
Instalación de MySQL basada en deepin

inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_50824019/article/details/125531851
Recomendado
Clasificación