Entrevista de ingeniero integrado de 2022 (actualizado en enero de 2023)

Contiene algunas historias de gluten de ingenieros de software integrado en empresas famosas de Niuke.com

Si hay alguna infracción, se eliminará inmediatamente.


Entrevista con el ingeniero integrado de Alibaba

Para el puesto de ingeniero integrado, hay muchos contenidos principales de la entrevista telefónica :

Modo de proyecto (producto/módulo)
La función del chip Bluetooth en el producto (MCU, control DSP externo u otros chips; o solo como módulo Bluetooth)

Modo de producto terminado de software Bluetooth (modo de firmware, grabar a través de SPI)

Arquitectura y capas de la pila de protocolos Bluetooth

Comparación de la pila de protocolos Bluetooth y la pila de protocolos de red (arquitectura de 4 capas o arquitectura de 7 capas)

Chip Bluetooth (ya sea basado en Linux u otra arquitectura común)

La arquitectura de software del software Bluetooth (tipo basado en eventos, no el gran ciclo de tiempo de microcomputadora de un solo chip)

¿Qué son los punteros de función y las funciones de puntero? expresado en código simple

La versión del kernel de Linux; cuál es la clave para el cambio de tareas del sistema operativo (guardar el contexto de la tarea anterior, cargar el contexto de la siguiente tarea)

En general, las entrevistas telefónicas son difíciles y es necesario preparar conocimientos profesionales para aprobar.


Entrevista al ingeniero integrado de Baidu

1 hora por un lado

1. Preguntó sobre el proyecto y también preguntó sobre el algoritmo de la red neuronal.

2. Pilas y colas.

3. Arreglos y listas enlazadas.

4. Palabras clave estáticas, válidas y constantes.

código:

1. Elimine los espacios en la cadena.

2. Combinar dos listas enlazadas, en orden.

Inmediatamente dos lados 1.5h

1. También pregunté sobre el proyecto, las dificultades en él y la finalización de la carrera, porque estaba escrito en el currículum.

2. malloc, defina una matriz grande en la función, ¿debería definirse directamente o usar malloc?

3. También pregunté sobre la palabra clave static, ¿en qué área existe la variable definida con static en la función?

código:

1. Copie la lista enlazada.

2. La suma de dos números, la primera pregunta de leetcode.

3. Determine si la computadora es big endian o little endian.

4. Linux utiliza subprocesos múltiples para realizar la función de temporización del software. Después de conversar durante mucho tiempo y escribir un pequeño pseudocódigo, lo mejor es hablar sobre la solución que desea bajo la guía del entrevistador.

30min en tres lados

La entrevista con el gerente del departamento fue así, no hice muchas preguntas técnicas, presenté brevemente el proyecto, pregunté sobre las dificultades, cómo resolverlas, cómo estudiar en la vida diaria y la planificación de la carrera futura. Du Audio, ¿y qué dificultades crees que hay en la tecnología de I+D?


Entrevista de ingeniero integrado de CVTE

Al principio, contrató en el campus, comenzó a registrarse en su sitio web oficial y luego tomó una prueba escrita en línea. Si pasaba la prueba escrita, abriría un horario de cita para la entrevista. Una vez que se anunció el horario de la prueba escrita cvte, él pediría una entrevista al día siguiente.Entrevista Fue una elección libre en las tres franjas horarias de la mañana siguiente, y luego tomó el bus desde la estación del metro hasta la sede de la cvte para una entrevista.

La entrevista consta de tres partes, la primera parte es la auto-presentación, la segunda parte son las preguntas del entrevistador y la tercera parte son las preguntas de programación.

Sentí que el entrevistador no parecía leer mi currículum y no me preguntó sobre ningún proyecto. A partir de mi presentación, aprendí que entiendo C, C ++ y C51, y luego comencé a hacerme preguntas técnicas relacionadas. Preguntas Hizo muchas preguntas Todas se pueden encontrar en las preguntas de la entrevista de Baidu, que son muy comunes. Por ejemplo, en C, preguntará sobre la diferencia entre define y const, etc., en C++, preguntará sobre funciones virtuales, constructores, etc., y en 51, preguntará sobre funciones de interrupción. Sin embargo, debido a una preparación insuficiente, aunque la respuesta se siente bastante bien, solo se pueden responder uno o dos puntos por cada punto. La respuesta insuficiente hizo reír al entrevistador. Finalmente, surgió una pregunta de programación y sentí que me estaba arrodillando sobre la pregunta de programación. Era una pregunta de programación sobre la entrada de cadenas. Dado que mi base de programación es relativamente débil, me siento arrodillado


Entrevista con el ingeniero de desarrollo integrado de Huawei OD (un lado)

prueba de máquina

Este nivel es principalmente para hacer más preguntas en Niuke.com. Me quedé atascado en el 80 % de la prueba de la computadora. No sé dónde están los pits más tarde, pero al final lo pasé.

un lado

Principalmente como autopresentación, me presenté en torno a mi currículum, describí principalmente varios nodos de proyectos que he realizado y el trabajo del que soy responsable actualmente, y luego el entrevistador giró en torno al contenido escrito en el currículum y extrajo uno o dos proyectos para preguntar detalles técnicos específicos (recuerde que el currículum es el tema), centrándose en el principio de tcp/ip, cambios en los bits de estado, etc. en el proceso de transmisión específico y los detalles de un proyecto de actualización de OTA, creo que no lo hice respondo muy bien la pregunta de TCP, porque se obtuvo después de modificar algunas rutinas usadas en ese momento.Aunque también usé la herramienta de captura de paquetes para verificar en detalle, los bits de estado en cada paquete cambiaron, pero el principio específico no fue profundo . Después de investigar, el entrevistador me dijo que había una parte de romper el código a mano. El límite de tiempo era de 30 minutos. El tema era un problema de clasificación de matriz. Lo escribí en más de diez minutos y lo envié después de confirmar que no hubo preguntas Después de eso, la entrevista terminó aquí, y no se hicieron más preguntas.


DJI Dajiang [Ingeniero de software integrado] Superficie técnica (Liangjing)

1. Preséntate.

2. ¿Cómo se programan generalmente los subprocesos en Linux?

3. Si se trata de una CPU de un solo núcleo, ¿en qué orden se ejecutan varios subprocesos? Es decir, el sistema de programación de hilos?

4. Si ahora hay varios subprocesos, ¿cómo determinar cuál se ejecutará primero?

5. ¿Puede hablarnos brevemente sobre la configuración de algunos chips stm32 que ha utilizado? ¿Qué tan grandes son la frecuencia de la CPU, el flash y la RAM?

6. ¿Qué desarrollos ha realizado sobre stm32?

7. ¿Ha desarrollado algún controlador?

8. ¿Entiende todo el proceso de comunicación de SPI? ¿Cuántas líneas tiene SPI, cuáles son? ¿Cuál es la configuración de tarifas cuando usas SPI?

9. ¿Alguna vez has usado DMA? Explique ¿Qué es DMA?

10. SPI tiene 4 modos, ¿sabes cuáles 4 modos?

11. ¿Puede compartir los problemas difíciles que ha encontrado durante el proceso de desarrollo y depuración?

12. ¿Alguna vez ha realizado un desarrollo de software relativamente grande? Es decir, algunas funciones relativamente grandes necesitan hacer algo de diseño y estratificación.

Dije que uno de los proyectos superpuso la capa del controlador, la capa intermedia y la capa de la aplicación.

13. ¿Qué factores has considerado en el diseño de la capa intermedia?

14. ¿Alguna vez ha utilizado algunos bloqueos y sincronización en la comunicación de procesos?

15. ¿En qué estado entrarán varios procesos cuando no puedan adquirir el bloqueo?

Un bloque.

16. Suponiendo que un proceso A de baja prioridad adquiere el bloqueo del primero en llegar, pero el proceso B de alta prioridad no puede adquirir el bloqueo, ¿se bloqueará el progreso del proceso B de alta prioridad?

R: Seguirá bloqueándose.

17. Si hay otra tarea C cuya prioridad está entre A y B, ¿aprovechará la tarea C los recursos de la CPU?

R: Sí.

18. Esto hará que B espere los recursos cada vez más ¿Hay alguna forma de resolver este problema? Porque B tiene la prioridad más alta.

R: Aumente la prioridad de A primero y luego dársela a B después de que A se suelte.

19. ¿Cómo aumentar la prioridad de A?

RTOS tiene funciones que se pueden mejorar.

20. Entonces, ¿cuánto se necesita aumentar la prioridad de A?

Después de la entrevista, de repente recordé que de las preguntas 15 a 20, el entrevistador en realidad quería probar "preguntas de inversión de prioridad". Pero me tropecé e incluso cometí algunos errores cuando respondí.

21. ¿Estás desarrollando en modo usuario o en modo kernel para Linux?

22. En el desarrollo del modo usuario, el programa se escapa y se produce un error de segmento, ¿cómo lo localizas?

23. ¿Cómo depurar los errores en el estado de ejecución?

24. ¿Sabe en cuántos segmentos se divide el programa?

25. ¿Cuál es la diferencia entre montón y pila?

26. ¿Tienes algo que preguntarme?

Desafortunadamente, este es un libro frío, pero después de la entrevista en DJI, he resumido mucha experiencia, que también será de gran ayuda para las entrevistas posteriores.


Entrevista de ingeniero integrado de CVTE

Para la entrevista, la cvte aprobó previamente la dirección de microcomputadora de un solo chip de ingeniero embebido.Después de la aplicación en línea, se realizó primero la prueba escrita, con más de 20 preguntas de opción única y 2 preguntas de programación. Dos días después, el entrevistador llamó por la noche y dijo que había aprobado la prueba escrita y que planeaba hablarme sobre tecnología en el acto. Cambié el horario de la entrevista a la tarde.

Durante la entrevista, el entrevistador acababa de terminar la reunión y todavía era una entrevista telefónica. Primero, me presenté y luego profundicé en los dos proyectos en la introducción. Luego hice algunos requisitos de mejora para mi proyecto y me pregunté cómo para lograrlo Respondí esta parte No es bueno. luego preguntó

1. En el diseño de programas, cómo usar el método de interrupción para reemplazar su método de consulta original

2. Puntero de lenguaje C

3. La diferencia y extensión del almacenamiento estático y el almacenamiento dinámico

4. La diferencia entre IIC y SPI, paridad UART

5. Cola, pila, introducción de números binarios

6. Cómo llevar a cabo el aprendizaje integrado en lenguaje C, algunos conocimientos básicos de estructura de datos y protocolos de interfaz utilizados en proyectos como IIC, UART, etc.,

Surgieron la mayoría de las respuestas y luego se hicieron algunas preguntas sobre los métodos de aprendizaje.

Luego hubo una sesión de preguntas y respuestas, y todo el proceso duró unos 45 minutos.


Entrevista con el ingeniero de hardware electrónico de Huawei

Al comienzo de la solicitud en línea, habrá una evaluación, una prueba de personalidad y luego recibiré una pregunta de prueba en línea (general) de hardware, que cubre una amplia gama de temas, incluidos integrados, digitales, analógicos y de radiofrecuencia. ., y algo de uso y cuidado del osciloscopio, pero son todas cosas muy básicas, que se han aprendido en clase.

Después de la evaluación, recibí una invitación para una entrevista. La ubicación fue en el Instituto de Investigación de Chengdu. Tuve 2 rondas de entrevistas. Después de la primera ronda de entrevistas, esperé un tiempo para 2 rondas. En la primera ronda, hice preguntas. sobre los proyectos en mi currículum. Hubo extensiones ocasionales. La segunda ronda es una entrevista exhaustiva. Buscarán los proyectos en el currículum. Aprenderán más sobre su situación familiar, la elección del lugar de trabajo y pensamientos personales.


Entrevista con el ingeniero de hardware electrónico de Huawei

Un lado: autopresentación, preguntas relacionadas con la competencia en el currículum, preguntas relacionadas con el proyecto en el currículum, si ha hecho algo en circuitos digitales, estado del proyecto. Pregunte sobre la placa PCB del software de simulación y similares, hable sobre un proceso de desarrollo de productos ficticio (debe considerarse investigación y desarrollo, no la sensación de investigación y desarrollo), hable sobre la situación específica de la empresa, dibujemos un DC/ circuito de CC y use STM32 para controlar el circuito del zumbador, haga preguntas.

Dos lados: presentación personal, preguntas relacionadas con el proyecto, tipos de señales recopilados y ¿cuáles son las fuentes de interferencia? ¿Cómo lidiaste con eso? ¿Cuántas capas de tableros ha hecho, cuáles son los cursos de pregrado y posgrado? ¿Por qué elegir desarrollo de hardware en lugar de maquinaria? ¿Por qué no hacer software embebido? aficiones, situación familiar, situación personal.

En general, una empresa con una experiencia muy humanizada y un buen sentido de la experiencia recibió una oferta verbal después de una entrevista con Recursos Humanos al día siguiente.


Entrevista con el ingeniero de hardware integrado de Haier Group (Haier Zhijia)

En primer lugar, haga una mala crítica, Hainayun, si no acepta a las personas, solo diga que el estándar de trabajo de los ingenieros integrados de software y hardware es muy bajo y, al final, todos mis currículums están colgados, y usted es arrogante.

Haier Smart Home (Departamento de TV en color) Ingeniero de hardware integrado

El tiempo de la entrevista fue bastante corto, menos de diez minutos. Eran dos personas en total. Parecía que uno era ingeniero y el otro era supervisor o hr. El ingeniero estaba distraído y el otro no escuchaba. unas pocas palabras.

1. Auto-presentación

2. Introducción del proyecto

3. Introducción al contenido de la Copa Blue Bridge

4. Principio de diodo...

5. Proporcione un tema, deje que se haga por la tarde y entréguelo el mismo día: para hacer un circuito de control reductor de CC-CC con retroalimentación de resistencia de muestreo, se requiere escribir el principio de funcionamiento básico y derivar el ciclo de trabajo PWM y la fórmula de cálculo de la resistencia de muestreo

6. Pregunta inversa: contenido de la formación, lugar de trabajo (cerca de la Puerta 8 del Parque Industrial Haier)

Terminé de escribir esa noche, y el mensaje de texto llegó al día siguiente, y colgué, eh.


Entrevista con el ingeniero de pruebas de hardware de ZTE

Entrevistado entrevista profesional de ZTE (un lado). Como era mi primera entrevista después de enviar mi currículum por adelantado, estaba un poco nervioso antes de la entrevista virgen. Envié un correo electrónico con el enlace de la entrevista con dos noches de anticipación para confirmar la hora. Después de recibir el correo electrónico, primero revisé mi experiencia del proyecto en mi mente por adelantado.

La entrevista se programó por la mañana, tal vez el sitio web oficial de entrevistas no era muy bueno, por lo que se retrasó por un tiempo. Después de entrar en la entrevista, primero déjame presentarme. Presenta brevemente tu proyecto de grado y las tareas que realizas. El entrevistador me preguntó si tenía alguna experiencia en proyectos relacionados con circuitos, le dije que había hecho el diseño de bucles bloqueados en frecuencia cuando me gradué de la licenciatura, y principalmente introduje varios módulos. Luego, el entrevistador preguntó: "¿Puede hablarme sobre el principio de funcionamiento del oscilador en anillo? Presenté principalmente dos tipos, a saber, la unidad de retardo de un solo extremo y el vco formado por la unidad de retardo pseudodiferencial, y hablé sobre la diferencia entre ellos. . Luego le pregunté si tenía experiencia en desarrollo de software, le dije que había hecho un concurso integrado en mi carrera de grado, sobre el procesamiento de imágenes, como estos proyectos han estado separados durante mucho tiempo, solo puedo dar una idea aproximada. Luego pregúntame, qué papel jugaste en tu proyecto, te hablé brevemente de mis tareas y ayuda para el progreso del proyecto. Además, también pregunté sobre mis calificaciones y por qué estaba solicitando un puesto de prueba. Originalmente, el entrevistador quería preguntar sobre una interfaz, porque no la había tocado antes, así que dije que no la entendía. Mencionó tres interfaces, y dije que podría estar familiarizado con la interfaz USB, y luego me pregunto cual es la tasa de transferencia mas rapida de usb cuanto, directamente respondi no lo se. . . Entonces no me hicieron preguntas ajenas al proyecto. Al final me preguntó si tenía alguna pregunta para él, principalmente le pregunté sobre el mecanismo de capacitación y promoción.

Todo el proceso duró más de 20 minutos. El entrevistador fue bastante amable y la entrevista se sintió bien. Al final, el entrevistador se disculpó conmigo y dijo que perdí el tiempo debido a la mala conexión a Internet y se sintió muy educado. En la primera entrevista aclaré mi proyecto, aunque siento que las posibilidades de que me aprueben de antemano no son altas, jeje.


Meituan Autumn Recruitment Preguntas de programación de exámenes escritos integrados

1 brocheta

Descripción del Título:

¡Xiaotuan quiere asar brochetas solo! Pero antes de ensartar, debes ensartar las brochetas. Xiaotuan tiene n platos de carne y n platos vegetarianos. Quiere unir un plato de carne y un plato vegetariano en orden. ¡Quiere que lo ayudes a unirlos!

Se dan dos cadenas A y B de longitud n que contienen solo letras minúsculas en inglés, que representan los tipos de platos de carne y platos vegetarianos respectivamente (las letras se usan para indicar los tipos de platos). ¡Por favor, colócalos en orden de izquierda a derecha! Por ejemplo, para brochetas de carne A1A2...An

Y las brochetas de verduras B1B2...Bn, las brochetas deben ser A1B1A2B2...AnBn

ingrese la descripción

La primera línea es un número entero positivo n, que indica la longitud de la brocheta.

La segunda línea es una cadena A de longitud n, que indica qué platos son los platos de carne en orden.

La tercera línea es una cadena B de longitud n, que indica qué vegetales son los vegetales en orden.

Para el 80% de los datos, n≤1000

Para el 20% de los datos, n≤50000

Para todos los datos, A y B son cadenas que contienen solo letras minúsculas en inglés.

descripción de salida

Muestra una línea que contiene 2n cadenas que representan las brochetas ensartadas.

#include <bits/stdc++.h>

using namespace std;

int main() {
    
    
  int n; cin >> n;
  string a, b;
  cin >> a >> b;
  string ans;
  for (int i = 0; i < n; ++i) {
    
    
    ans += a[i];
    ans += b[i];
  }
  cout << ans << endl;
  return 0;
}

2 posicionamiento

¡Xiaotuan puso tres dispositivos de posicionamiento en el mapa y quería confiar en ellos para el posicionamiento!

El mapa de Xiaotuan es un tablero de ajedrez de n×n, y colocó las tres posiciones de (x1,y1),(x2,y2),(x3,y3) xi,yi ∈ Z ∩ [1,n] Un dispositivo de posicionamiento ( dos pares no se superponen).

Luego, la camarilla coloca una baliza en una ubicación específica (a,b)a,b ∈ Z ∩ [1,n]. Cada baliza le dirá al pequeño grupo la distancia de Manhattan desde sí mismo hasta esa baliza, es decir, para i=1,2,3 los pequeños grupos saben (|xi-a|+|yi-b|),

¡Ahora Xiaotuan quiere que lo ayudes a encontrar la ubicación de la baliza! Tenga en cuenta que la pregunta garantiza al menos una ubicación de baliza correcta.

Debido a que el pequeño grupo no puede determinar si la posición de la baliza determinada por el dispositivo de posicionamiento es única, si hay más de una, se emite la que tiene el orden lexicográfico más pequeño. El orden lexicográfico de (a,b) es menor que (c,d) si y solo si a<c o a==c∧b<d

La primera línea es un número entero positivo n, que indica el tamaño del tablero de ajedrez.

La segunda línea contiene dos números enteros, que representan x1 e y1 respectivamente, es decir, la posición del primer localizador.

La tercera línea tiene dos números enteros, que representan respectivamente x2 e y2, es decir, la posición del segundo localizador.

La cuarta línea contiene dos números enteros, que representan respectivamente x3 e y3, es decir, la posición del tercer localizador.

La quinta línea contiene tres números enteros, que representan respectivamente la distancia de Manhattan desde el primer, segundo y tercer localizador hasta la baliza. La distancia de Manhattan desde el i-ésimo localizador hasta la baliza es (|xi-a|+|yi-b|)

Los números están separados por espacios, para todos los datos, n≤50000, 1≤xi,yi≤n

#include <bits/stdc++.h>

using namespace std;

#define all(x) x.begin(), x.end()

pair<int, int> op(int x, int y, int dx, int dy, int t) {
    
    
  switch(t) {
    
    
    case 0: return make_pair(x+dx, y+dy);
    case 1: return make_pair(x-dx, y+dy);
    case 2: return make_pair(x+dx, y-dy);
    case 3: return make_pair(x-dx, y-dy);
  }
  return make_pair(1, 1);
}

int main() {
    
    
  int n; cin >> n;
  vector<int> xx(3), yy(3), dd(3);
  set<pair<int, int>> ans;
  for (int i = 0; i < 3; ++i) {
    
    
    cin >> xx[i] >> yy[i];
  }
  for (int i = 0; i < 3; ++i) cin >> dd[i];

  for (int i = 0; i < 3; ++i) {
    
    
    set<pair<int, int>> nloc;
    set<pair<int, int>> validl;
    int d = dd[i], x = xx[i], y = yy[i];
    for (int dx = 0; dx <= d; ++dx) {
    
    
      int dy = d - dx;
      for (int t = 0; t < 4; ++t) {
    
    
        pair<int, int> co = op(x, y, dx, dy, t);
        int nx = co.first, ny = co.second;
        if (nx > 0 && nx <= n && ny > 0 && ny <= n) {
    
    
          validl.emplace(nx, ny);
        }
      }
    }
    if (ans.empty()) {
    
    
      ans = move(validl);
    } else {
    
    
      set_intersection(all(ans), all(validl), inserter(nloc, nloc.begin()));
      ans = move(nloc);
    }
  }

  cout << ans.begin()->first << " " << ans.begin()->second << endl;
  return 0;
}

3 revisión más eficiente

Tema Descripción

Xiaomei está a punto de rendir un examen parcial y hay n preguntas. Para la i-ésima pregunta, Xiaomei tiene una probabilidad de pi de obtener una puntuación de ai si lo hace bien, y una probabilidad de (1-pi ) para obtener una puntuación de 0 si se equivoca.

La puntuación total de Xiaomei es la puntuación obtenida para cada pregunta.

Xiaomei no se reconcilió con esto y decidió hacer una revisión sorpresa. Debido al tiempo limitado, revisó como máximo m preguntas, y la tasa correcta de las preguntas de la prueba después de la revisión fue del 100%.

¿Cuál es el puntaje total máximo deseado si se revisa de manera óptima?

Introduzca n, m

A continuación, ingrese n números enteros, que representan pi%. En aras de la simplicidad, la probabilidad se expande 100 veces.

A continuación, introduzca n enteros, que representan ai, la puntuación de una determinada pregunta

Muestra la puntuación máxima esperada, con una precisión de 2 decimales

ingrese la descripción

2 1

89 38

445 754

descripción de salida

1150.05

#include <bits/stdc++.h>

using namespace std;
using ll = long long;
int main() {
    
    
  int n, m;
  cin >> n >> m;
  vector<ll> p(n), a(n);
  for (auto& e : p) cin >> e;
  for (auto& e : a) cin >> e;
  for (int i = 0; i < n; ++i) {
    
    
    p[i] *= a[i];
  }
  for (int i = 0; i < n; ++i) {
    
    
    a[i] = a[i] * 100 - p[i];
  }
  sort(a.begin(), a.end(), greater<ll>());
  ll ans = 0;
  for (int i = 0; i < n; ++i) {
    
    
    ans += p[i];
  }
  for (int i = 0; i < min(n, m); ++i) {
    
    
    ans += a[i];
  }
  double ret = (double) ans / 100.;
  cout << fixed << setprecision(2) << ret << endl;
  return 0;
}

4 en forma

Tema Descripción

¡En el cumpleaños de Xiaotuan, recibió dos números idénticos como regalo de su madre! ¡Estaba muy feliz de jugar con él, pero accidentalmente rompió la secuencia de números! Ahora las dos secuencias en su mano son A y B respectivamente,

Las longitudes son n y m, respectivamente. Xiaotuan realmente quería que las dos secuencias de números volvieran a ser iguales. Ahora puede hacer dos operaciones. La primera operación es cambiar cierto número a en una secuencia seleccionada de números a un número b,

Esto tomará |ba| tiempo.La segunda operación es seleccionar un cierto número a en una secuencia y soltarlo de la secuencia, lo que toma |a| tiempo. ¡Xiao Tuan quería saber cuánto tiempo le llevaría volver a hacer que las dos secuencias fueran iguales!

ingrese la descripción

Los enteros positivos n y m separados por dos espacios en la primera línea representan las longitudes de la secuencia A y B respectivamente.

La siguiente línea contiene n enteros, que son A1 A2...An

La siguiente línea contiene m enteros, que son B1 B2...Bm

Para todos los datos, 1≤n, m≤2000, |Ai|,|Bi|≤10000

descripción de salida

Muestra un número entero en una línea, que indica el tiempo mínimo empleado para hacer que las dos secuencias sean iguales.

#include <bits/stdc++.h>

using namespace std;
using LL = long long;

int main() {
    
    
    freopen("test.txt", "r", stdin);
    ios::sync_with_stdio(false);
    int n, m;
    cin >> n >> m;
    vector<int> a(n), b(m);
    for (int i = 0; i < n; ++i) {
    
    
        cin >> a[i];
    }
    for (int i = 0; i < m; ++i) {
    
    
        cin >> b[i];
    }
    vector<vector<int>> dp(n + 1, vector<int>(m + 1, 0));
    for (int i = 1; i < n + 1; ++i) {
    
    
        dp[i][0] = dp[i - 1][0] + abs(a[i - 1]);
    }
    for (int i = 1; i < m + 1; ++i) {
    
    
        dp[0][i] = dp[0][i - 1] + abs(b[i - 1]);
    }
    for (int i = 1; i < n + 1; ++i) {
    
    
        for (int j = 1; j < m + 1; ++j) {
    
    
            if (a[i - 1] == b[i - 1]) dp[i][j] = dp[i - 1][j - 1];
            else dp[i][j] = min(abs(a[i-1] - b[j-1]) + dp[i - 1][j - 1], min(dp[i - 1][j] + abs(a[i - 1]), dp[i][j - 1] + abs(b[j - 1])));
        }
    }
    cout << dp[n][m];
    return 0;
}

5 preguntas de opción múltiple

¿Cuáles son los métodos de comunicación entre procesos?


Entrevista con el ingeniero de hardware integrado de Mindray (Shenzhen Nanshan)

El entrevistado era un pasante de verano que era ingeniero de hardware. Dado que su especialidad era la ingeniería mecatrónica, era principalmente bueno en diseño mecánico. En ese momento, Mindray carecía de pasantes de ingeniería de hardware. Escribí algo de experiencia en proyectos de hardware en mi currículum. fue empujado a la entrevista de pasante de ingeniero de hardware, el proceso no fue ideal.

1. La primera apertura es una simple auto-presentación;

2. El entrevistador preguntó algo de experiencia en proyectos escritos en el currículum;

3. El entrevistador pidió explicar los detalles del trabajo de diseño mecánico en su proyecto;

4. Hable sobre los lugares que cree que son más desafiantes durante el proceso del proyecto;

5. ¿Cuál es la condición de trabajo ideal?

En general, el resultado no es ideal, pero puedes aprender algunas cosas de hardware, aún así es agradable

Supongo que te gusta

Origin blog.csdn.net/weixin_43233219/article/details/128663460
Recomendado
Clasificación