¿Cuál es la mejor manera de escribir un método que pruebe una función como fusionar 2 listas vinculadas ordenadas?

Crear un modelo de comportamiento correcto y la clase correspondiente.

En este caso, el modelo es que
1. Cada nodo de la lista es el primero o cumple la restricción de pedido con su predecesor
2. Cada elemento de las listas originales está presente la cantidad correcta de veces (esto también implica que no hay bucles en la salida)

con métodos de pretest y postest.

Escriba métodos que cubran todos los casos límite que puede identificar (listas vacías, elementos duplicados, listas sin clasificar) más un caso pseudoaleatorio visible que cubre cosas en las que no puede pensar y termina con éxito después de un tiempo de ejecución configurable.

Llame a los métodos de prueba y al código de validación del método que se le pidió que escribiera. Usaría una matriz de punteros de función y bucle sobre crear e inicializar modelo, ejecutar función de caso de prueba, validar contra modelo y eliminar lista.

Obtenga comentarios de su entrevistador; podrían estar buscando el modelo de validación.

Deje que la entrada a su función de fusión sean las listas A y B y la lista fusionada es la lista M.
Las pruebas se pueden dividir ampliamente en 4 categorías:

  1. A está vacío, B está vacío
    Compruebe si M == vacío
  2. A no está vacío, B está vacío
    Compruebe si M == A
  3. A está vacío, B no está vacío
    Compruebe si M == B
  4. A no está vacío y B no está vacío

    Simplemente cree una matriz S que contenga elementos de la lista A y B y ordénela.
    Itere los elementos de M y S secuencialmente y verifique si los elementos tanto en la lista M como en la matriz S son idénticos.

    Las pruebas pueden ejecutarse varias veces con valores aleatorios (duplicados, negativos, elementos duplicados).

More Interesting

Cómo verificar la capacidad de una persona sobre las habilidades de ASP.NET

Cómo prepararme para una entrevista de programación cuando tengo 7-8 meses

¿La técnica codiciosa es útil para resolver problemas en entrevistas?

¿Debo aprender estructuras de datos y algoritmos para realizar una entrevista para un trabajo relacionado con el aprendizaje automático?

¿Cómo es el proceso de entrevista para un puesto de desarrollador de algoritmos en HRT?

¿Aproximadamente cuánto tiempo se espera que pasen los candidatos para trabajos de programación en tareas de programación para llevar a casa?

¿Cuáles son las preguntas frecuentes de Java?

¿Sería mi sitio web un buen proyecto para dejar en mi currículum?

Cómo solucionar problemas con el proceso de entrevista de ingeniería de inicio

¿Cuáles son los conceptos que podrían ayudar a descifrar una entrevista de Google que no sean estructuras de datos y algoritmos?

¿Por qué los entrevistadores siempre te hacen sentir tonto en la entrevista de programación?

Cómo prepararme para codificar entrevistas en tres meses

No entiendo los algoritmos en absoluto, ¿de dónde empiezo a aprenderlos? Me estoy preparando para una entrevista técnica.

Dada una matriz de entrada de enteros de tamaño n, y una matriz de consulta de enteros de tamaño k, ¿cómo encuentro la ventana más pequeña de la matriz de entrada que contiene todos los elementos de la matriz de consulta, preservando el orden?

Si dice que es competente en un lenguaje de programación al salir de la universidad, ¿qué grado de comprensión profunda necesita en dicho idioma para tener éxito en una entrevista técnica?