Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

When I went through a bunch of interviews in 2021 all my interviews were remote. After the first few hour-long interviews it became apparent that there were many repeat questions. I started writing the questions down along with my answers. I ended up with a notepad with ~20 of the most frequent questions and answers that I kept open on my screen next to the video conference. It was super helpful and now I have one of those $300k tech jobs!

Edit: these were the questions, the answers are left as an exercise to the reader (or your preferred AI):

What are you looking for in a role?

How do you deal with a conflict with a coworker?

What leadership experience do you have?

Do you have experience working with multiple teams?

What APIs have you designed?

What is priority inversion?

What are the differences between a mutex and a semaphore?

What is preemption?

How do interrupts work?

What is interrupt latency?

What is the difference between an ISR and a function?

What is the difference between an interrupt and an exception?

What is hard vs soft real time?

What is the boot process of a CPU?

What do you do for board bring up?

What are different memory sections used for (code, data, bss, etc.)?

What is a TLB?

What is the difference between big and little endian?

What is the difference between 32 and 64 bit processors?

What happens if a null pointer is dereferenced?



courtesy of GPT4

Priority inversion: A situation where a higher-priority task is indirectly blocked by a lower-priority task holding a shared resource.

Mutex vs semaphore: Mutex ensures mutual exclusion for a shared resource, while semaphore controls access to a resource by multiple tasks with a counter.

Preemption: The act of interrupting and temporarily suspending a task, allowing another task to execute.

Interrupts: Signals to a CPU to temporarily stop its current task to handle an event or perform a specific function.

Interrupt latency: The time between the arrival of an interrupt and the start of the interrupt service routine (ISR). ISR vs function: ISR handles an interrupt, cannot be called directly, and must complete quickly; a function is a reusable block of code that can be called as needed.

Interrupt vs exception: Interrupts are external events requiring CPU attention, while exceptions are internal events caused by the execution of an instruction.

Hard vs soft real time: Hard real-time systems have strict deadlines that must be met, while soft real-time systems have more flexible deadlines.

CPU boot process: Initialization sequence a CPU follows upon startup, including loading firmware, running tests, and loading an operating system.

Board bring up: Process of validating and configuring new hardware to ensure correct functionality.

Memory sections: Code (executable instructions), Data (initialized variables), BSS (uninitialized variables).

TLB: Translation Lookaside Buffer, a cache for memory address translations in virtual memory systems.

Big vs little endian: Big endian stores the most significant byte first, while little endian stores the least significant byte first. 32 vs 64 bit processors: 32-bit processors have 32-bit wide registers and address spaces, while 64-bit processors have 64-bit wide registers and address spaces, allowing for larger memory and better performance.

Null pointer dereference: Undefined behavior occurs, often leading to a crash or unpredictable results.


"CPU boot process: Initialization sequence a CPU follows upon startup, including loading firmware, running tests, and loading an operating system."

That's a bit vague.


I assume OP asked it to summarize in one sentence. I get a full and detailed list of things that happen, from POST to kernel loading.


Well, without specifying what CPU, how else? There are tons of specific answers to this question if you wanna pick up a random datasheet


Does the job actually require the knowledge behind these questions directly in live discussion environment? or are you able to get away with it by Googling/Stackoverflow/ChatGPT?


My job does require knowledge of all of these things. It’d be hard to succeed if you had to look them up.


Are you a systems engineer?


Yes


This is my interview strategy as well!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: