Taro Logo

Software Development Engineer Interview Experience - Bengaluru, Karnataka

November 1, 2017
Positive ExperienceNo Offer

Process

Arista HR directly approached me on LinkedIn and asked me to share my contact details and latest resume.

HR then called me by phone for a brief discussion.

A face-to-face interview was scheduled for a mutually agreed date.

The first round of the technical interview was conducted by a senior engineer. The interviewer was helpful and provided hints whenever required. I answered most of the questions correctly, with the exception of the process's memory management part.

I was informed that the interview for the day was complete and that detailed feedback would be emailed within one to two days.

Clearly, I did not make it to the next round, and I have not received any interview feedback to date.

Questions

  1. Describe each of the following statements:
  • char str[10] = "arista";
  • char *str[] = {"arista"};
  • char *str = "arista";
  • const char *str = "arista";
  • char *const str = "arista";
  1. Describe each of the following function prototypes:
  • char func(void (*foo)(void), void (*bar)(void));
  • void func(char *s1, char *s2);
  • int* func(int *);
  1. What does the following program do? Correct/complete the program.

c #define MAX_NUMBER(a, b) a > b ? a : b

int main() { int arr[] = {5, 2, 4, 0, 8, 6, 11, 3}; int i, res = arr[0];

// Assuming MAX_SIZE is defined elsewhere or should be sizeof(arr)/sizeof(arr[0])
// For correction, let's assume it's sizeof(arr)/sizeof(arr[0])
for (i = 1; i < sizeof(arr)/sizeof(arr[0]); i++)
	res = MAX_NUMBER(res, arr[i]);

printf("%d\n", res);
return 0;

}

This program finds the maximum number in the arr array.

  1. Is the below program valid? What will be the output?

c int main() { char *str = "arista"; printf(str); return 0; }

Yes, the program is valid. The output will be arista.

  1. Write a program to remove duplicates from a linked list.

(This is a request for a program, not a question to be answered here.)

  1. How to generate a symbol file for a program?

(This is a request for information, not a question to be answered here.)

  1. What is the first argument of printf? Where is it stored?

The first argument of printf is the format string. It is stored in the program's read-only data segment.

  1. What is physical memory?

Physical memory, also known as RAM (Random Access Memory), is the actual hardware memory chips installed in a computer that the CPU can directly access.

  1. What is virtual memory?

Virtual memory is a memory management technique that uses hardware and software to allow a computer to compensate for physical memory shortages by temporarily transferring data from random access memory (RAM) to disk storage. This creates the illusion that the system has more RAM than it actually does.

  1. What is MMU?

The MMU (Memory Management Unit) is a hardware component that handles all memory references made by the CPU. It translates virtual memory addresses into physical memory addresses.

  1. When is a program assigned physical memory?

A program is assigned physical memory when it is loaded into RAM by the operating system, typically during the program's execution or when it is started.

  1. Who loads a program into memory?

The operating system's loader is responsible for loading a program into memory.

  1. Given an address, how would you determine whether it belongs to a process's address space?

This can be determined by consulting the process's page table or memory map, which is maintained by the operating system. These structures map virtual addresses to physical addresses and indicate which regions are allocated to the process.

  1. Does the loader operate within the user-address space or kernel address space?

The loader typically operates within the kernel address space.

  1. Tell me about your work/project with the current employer.

(This is a question for an interview.)

  1. Do you have any questions for me?

(This is a question for an interview.)

Was this helpful?

Interview Statistics

The following metrics were computed from 4 interview experiences for the Arista Networks Software Development Engineer role in Bengaluru, Karnataka.

Success Rate

0%
Pass Rate

Arista Networks's interview process for their Software Development Engineer roles in Bengaluru, Karnataka is extremely selective, failing the vast majority of engineers.

Experience Rating

Positive75%
Neutral25%
Negative0%

Candidates reported having very good feelings for Arista Networks's Software Development Engineer interview process in Bengaluru, Karnataka.

Arista Networks Work Experiences