Experiencia de entrevista de Zoho | Conjunto 34 (fuera del campus)

¡¡Hola!! Recientemente asistí a Zoho fuera del campus. La primera ronda en Madurai y las rondas restantes en el campus de Chennai.

Ronda 1: C Y APTITUD [ 2 HRS ]

TÉCNICA: 20 C Salida de preguntas. Preguntas punteros, Matrix, Arrays, strings. Practique todas las preguntas de salida C establecidas en geeksforgeeks, lo cual es más que suficiente. https://www.geeksforgeeks.org/tag/c-output

APTITUD : 15 Rompecabezas. Practica preguntas de razonamiento lógico.

Recibí correo después de 2 semanas para la segunda ronda.

Ronda 2: CODIFICACIÓN SIMPLE [ 3 HORAS ]

Codificación en sistema. Permitido usar c/c++/java. Esperaban la solución optimizada para todas las preguntas. Necesita discutir el enfoque antes de comenzar a resolver cada pregunta.

  1. Dadas dos strings s1 y s2, elimine todos los caracteres de s1 que están presentes en s2.
    Entrada: s1=”experiencia”, s2=”En”
    salida: s1=”experiencia”
  2. Encuentre el siguiente elemento mayor para cada elemento en la array dada.
    entrada: array[]={6, 3, 9, 10, 8, 2, 1, 15, 7};
    salida: {7, 5, 10, 15, 9, 3, 2, _, 8}
    Si estamos resolviendo esta pregunta usando la ordenación, necesitamos usar cualquier algoritmo de ordenación O(nlogn).
  3. Imprime todas las permutaciones distintas de una string dada con caracteres duplicados.
    https://www.geeksforgeeks.org/distinct-permutations-string-set-2
  4. Dado un número, encuentra el siguiente palíndromo más pequeño.
  5. Dada una array con números repetidos, encuentre los tres primeros números repetidos.
    entrada: array[]={3, 4, 2, 3, 16, 3, 15, 16, 15, 15, 16, 2, 3}
    salida: 3, 16, 15

Las personas que completaron 4 o más son seleccionadas para la siguiente ronda el mismo día. Intente optimizar su solución tanto como sea posible. Le pedirán que optimice hasta que encuentre una solución de complejidad de tiempo esperada.

Ronda 3: Ronda de Programación Avanzada [ 3 HRS ]

Esta ronda se basa principalmente en la estructura de datos y los conceptos de oops.
No se permiten colecciones incorporadas. Necesita implementar por su cuenta.

Necesita discutir su enfoque antes de comenzar a resolver el problema.

Diseñar un sistema con las siguientes funcionalidades,

  1. ESTABLECER una variable
  2. OBTENER una variable
  3. DESCONFIGURAR una variable
  4. CONTAR NÚMEROS DE VARIABLE con valor dado
  5. BEGIN — Comienza una nueva transacción
  6. ROLLBACK — Revertir todos los comandos en la transacción abierta
  7. COMMIT — Confirmar la transacción

EJEMPLO 1:

SET a 20
GET a 20
SET b 30
GET b 30
SET a 10
GET a 10
UPDATE c 40 Ninguna variable llamada “c”
SET c 30
COUNT 30 2
COUNT 40 null
UNSET a
GET a null

EJEMPLO 2:

OBTENER un valor nulo
ESTABLECER un 30
OBTENER un 30

EJEMPLO 3:

SET a 30
BEGIN
GET a 30
SET a 40
GET a 40
SET b 40
GET b 40
ROLLBACK
GET b null
GET a 30

EJEMPLO 4:

BEGIN
SET a 40
SET b 40
SET c 50
COUNT 40 2
BEGIN
COUNT 40 null
COMMIT
COUNT 40 2
BEGIN
SET c 10
GET c 10
ROLLBACK
GET c 50

#My solution in Python .
dic = {}
dic1 = {}
while(1):
    try:
        query = [str(i) for i in raw_input().split(" ")]
        # print query
        # try:
        if query[0] == "set":
            dic[query[1]] = query[2]
        elif query[0] == "unset":
            dic[query[1]] = "null"
        elif query[0] == "update":
            dic[query[1]] = query[2]
        elif query[0] == "get":
            print dic[query[1]]
        elif query[0] == "count":
            count = 0
            for i in dic:
                if dic[i] == query[1]:
                    count = count + 1
            print count
        elif query[0] == "begin":
            while(query[0]!= "rollback"):
                query = [str(i) for i in raw_input().split(" ")]
                if query[0] == "set":
                    dic1[query[1]] = query[2]
                elif query[0] == "unset":
                    dic1[query[1]] = "null"
                elif query[0] == "update":
                    dic1[query[1]] = query[2]
                elif query[0] == "get":
                    print dic1[query[1]]
                elif query[0] == "count":
                    count = 0
                    for i in dic:
                        if dic[i] == query[1]:
                            count = count + 1
                    print count
    except KeyError:
        print query[1]," is not present"
        pass

Usé stack para resolver los módulos anteriores.

4 de nosotros completamos todos los módulos y llamamos a la ronda técnica al día siguiente.

Ronda 4: TECNOLOGÍA 1 [alrededor de 30 minutos]

Discusión sobre el proyecto actual. La mayoría de las preguntas son sobre las habilidades tecnológicas que mencionó en el currículum.

Sea claro con las cosas que agregó en su currículum. Si encuentran que eres lo suficientemente bueno, te enviarán a recursos humanos; de lo contrario, este es el final de la línea.

3 de nosotros llamamos por hora.

Ronda 5: HR RONDA [ 10 minutos ]

¿Por qué está dejando su trabajo actual en tan poco tiempo? [ 1 año de experiencia ]
¿Por qué Zoho?
¿Dónde te quedarás? [esperan que permanezca dentro de los 10-15 km de la oficina, como se menciona en la carta de llamada de la entrevista]
Discusión sobre el paquete.

Después de 4 días, recibí una llamada de hr que decía «Llegas al equipo» 🙂. Los 3 son seleccionados en la ronda de recursos humanos.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *