0% found this document useful (0 votes)
14 views16 pages

Embedded Design Engineer Interview Prep

embedded systems desgin engineer interview

Uploaded by

ULFAT HUSSAIN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views16 pages

Embedded Design Engineer Interview Prep

embedded systems desgin engineer interview

Uploaded by

ULFAT HUSSAIN
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Cowlar Inc.

/ HR / Embedded Design Engineer Interview Prep

If you’re reading this, Congratulations! You’ve been selected to be interviewed by our team for a potential position at Cowlar (Pvt) Ltd.

Please read this entire document carefully. Once you have completed your preparation and feel like you are ready, please email us with
your preferred date(s) of availability. We try to schedule the interview on your preferred dates provided that date hasn't already been taken.
The venue for the interview/ test is our office located (here) in Islamabad. Our requirements , interview process & hiring philosophy is
unique. It’s important that you review the information carefully and decide if you want to work here.

General Requirements
- Intelligent individual with excellent critical thinking & problem solving skills
- Hardworking, decent & honest
- Should have the ability to assimilate complex ideas
- Have excellent communication skills & understand how to train, manage & help other team members
- Recently graduating candidates MUST have the ability to learn by doing [1] [2] using online learning methods / tutorials
- Must have the ability to follow instructions1
- Must be a team player [1] [2]
- Understand good work ethic [1]
- Must be a good fit into our team culture
- Must value your time & our time [1]
- Should treat everyone 2 with respect
- Must know how to use the internet 3
- Must have clear core concepts
- Excellent Programming & Algorithm development skills
- Must have the ability to learn independently (without being asked)
- Must be good at reading documentation
- Must be good at writing documentation
- Must be able to summarize documents / tutorials / videos & teach core concepts to other team members
- Must enjoy work
- Must be ambitious & motivated

1
Please follow instructions provided to you during the interview, test and training phase. We don't like asking twice. This is especially important for fresh graduates.
2
Everyone means everyone, including our support & cleaning staff
3
We don't expect you to know the answer to every question but we do expect you to know where to look. You should know how to google solutions to problems and use stackoverflow / online
user forums / online community resources / discussion groups to your advantage. We expect you to know how and where to search for solutions to problems that you don't understand. We
expect that before you ask a colleague, you will have tried your best to search for a solution online (by yourself)
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

Test Preparation Materials


C Language
Why C? Why not Arduino? Here is a small clip of the person who created Linux talking about C. You will be tested Thoroughly in C
language. You will be asked to write code, analyze code and run programs on a web based IDE. Don’t even think about appearing for the
interview without preparing for the C language portion !
If your C language is rusty, take this C crash course (3 hours) or this Crash course
Use this online Compiler to practice your skills
Online C Compiler - online editor

Very strong & deep understanding of the C language [1] [2] [3] [4] [5] [6] [7]
1. Loops, conditional statements and decent hold of syntax [0] [1] [2] [3] [4] [5] [6]
2. Variables, keywords and scope [1] [2] [3] [4] [5] [6]
3. Data types [1] [2] [3] [4] [5]
4. Enums [1] [2] [3] [4]
5. Preprocessor basics [1]
6. Operators (Modulus) [1] [2] [3]
7. Structures [1] [2] [3] [4] [5] [6]
8. Functions [1]
9. Pointers [0] [0] [1] [2] [3] [4] [5]
10. Linked Lists [1] [2] [3] [4] [5] [6]
11. String manipulation
12. Bit Masking [0] [1]
13. Bitwise operators [1] [2] [3] [4] (very important)
14. Bit Manipulation [0] [1] [2] [3] (very important)
15. Parsing a string with sscanf [1] [2] [3] [4] [5] [6] [7] [8] (very important)
16. Using sprintf function to generate dynamic strings [1] [2] [3] [4] [5] (very important)
17. Knowledge about different compilers [1] [2]
18. Compiling C programs with multiple files [1] [2]
19. Ability to develop algorithms and write code in C [1] [2]
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

20. You will be asked to write code (live) so come prepared


21. Preprocessing directives (#ifdef) and basic questions about compilers [1] [2] [3] [4] [5] [6] [7]
22. Inline functions & macros [1] [2]
23. Function Pointers [1] [2] [3] [4] [5] [6]
24. What's the difference between a dynamic vs static language (examples of the two kinds ? )
25. Static vs dynamic memory allocation / fragmentation [1] [2] [3] [4] [5]
26. Pointers & Dynamic memory [1]
27. How can you swap two numbers without using a third/ temp variable? [1]
28. How computers count [1]

Watch these videos to prepare for embedded C interview questions [1]


Modern C Embedded systems [1]

Embedded System Design


Watch this playlist. We might ask a question from here.

Microcontrollers
Very strong & deep understanding of Microcontrollers
29. Difference between 8 bit and 32 bit controllers ? [1] [2]
30. Basic understanding of ARM architecture? (esp Cortex M) [1] [2] [3]
31. Microcontroller Memory overview [1]
32. Interrupts [0] [1]
33. Timers [1] [2]
34. UARTs [1] [2] [3]
35. I2C [1]
36. SPI [0] [1] [2] [3] [4] [5]
37. Pointers [1] [2] [3]
38. Stack [1]
39. Stack pointer [1]
40. Heap [1] [2]
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

41. Stack vs Heap [1] [2]


42. Stackoverflow [1] [2] [3]
43. Stack pointer [1] [2] [3]
44. Bootloaders [1] [2] [3]
45. Real time clocks
46. EEPROMS
47. Difference between Flash and RAM
48. Difference between EEPROM & FRAM
49. MSP430
50. STM32 [1]
51. ESP32 [1]
52. Basic knowledge of STM32 [0] [1] [2]
53. Familiarity with Tools / IDEs like (KEIL, VS Code, STM32Cube)
54. For the test you will be given the STM32L432 [1] [2]
55. DMA [1] [2] [3] [4] [5] [6]

Real-time operating systems


Strong understanding of RTOS (real time operating systems) concepts [1] [2] [3]
Watch this Embedded systems RTOS Lecture
56. Multitasking [1] [2] [3] [4]
57. Scheduler
58. FreeRTOS [0] [0] [1] [2] [3] [4]
59. Tasks [1]
60. Threads
61. Queues [1]
62. Scheduling [1]
63. Semaphores [1]

Tools & Equipment


64. Multimeters [1] [2]
65. Basic understanding of Oscilloscopes (DS1054Z) [1] [2]
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

66. Basic working knowledge of Logic Analyzers [1] [2] [3] [4] [5]

Instrumentation / Interfacing
Basic instrumentation / electronics section / interfacing section
67. Capacitors [1] [2] [3] [4]
68. Op Amp basics ?
69. What is a schmitt trigger ?
70. ST25DV NFC chip
71. RC522 RFID / NFC tags
72. Decoding UART / I2C using logic analysers [1]
73. Decoding Full duplex SPI with logic analyser [1]
74. Decoding SPI with an Oscilloscope [1]

Electronics Basics
If you’re applying for the embedded track, you should still have some basic knowledge of voltage levels, power supplies, ADCs and how to
build a simple circuit that allows a microcontroller to switch loads (high power).
75.
Capacitors (14 videos)
a. Ceramics and impedance
b. Ceramic cap voltage dependency
c. Current flow thru a cap
d. Why caps in parallel
e. ESR bad caps
i.
76. Circuit Analysis & Debugging
77. Transistor zener clamp circuit
78. Voltage vs Power vs Energy
79. Zener diode
80. How transistors work
81. Transistors working
82. Linear Regulators vs switch converters
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

83. Schottky Diodes


84. Schottky diodes part 2
85. Mosfets 101
86. Choosing Mosfets for embedded systems
87. MOSFET vs Transistor
88. MOSFET as a Switch
89. Ferrite Beads
90. Ferrite beads in power electronics
91. Bypass Caps
92. Op Amps
93. Rail to Rail Output of an Op Amp
94. OpAmps input bias current
95. Op Amp offset voltage measurement
96. Schmitt Trigger tutorial
97. How to measure power supply ripple and noise
98. Pi Filters for power supply
99. Removing ripple
100. Power supply filters
101. How to build an SMPS circuit
102. Feedthrough Caps and filters
103. MOSFET vs Load switches
104. Low power design
105. Design your own PSW (24 videos)
106. What is EMI
107. EMI / RFI feed through capacitors

Advanced Section

Difficult section (don't prepare for this before other materials are not covered properly)
108. (RTOS) What's the difference between Mutex & Semaphores ? [1]
109. Mutex Semaphore in RTOS [1]
110. RTOS vs Bare metal programming ? [1]
111. What is an eye diagram in terms of signal timing ?
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

112. What are AT commands (in the context of GSM modems etc) [1] [2]
113. How do ground VIAs improve PCB layout ? [1]
114. MQTT Protocol [0] [1] [2] [3] [4] [5]
115. MQTT Mosquitto broker [1]
116. MQTT Publishers / Subscribers [1]
117. COAP Protocol [1] [2] [3]
118. STM32 DMA [1]

Miscellaneous
Misc interview questions
119. What is a kernel ? [link]
120. What are some of the Basic concepts in PCB design ? [1]
121. What is a VPN ? [link]
122. What is a DMA ? [link] [1]
123. What does the DMA work (wrt microcontrollers) [1] [2] [3] [4] [5] [6] [7]
124. What is Cache memory ? [1] [2]
125. What is Quad SPI or QSPI ? [1] [2]
126. Study the documentation for Otti
127. What is Git ?
128. CISC vs RISC [1] [2]
129. RISC- V architecture [1] [2]
130. What is a callback ? [1] [2] [3]
131. Difference between Polling, interrupts and DMA ? [1]
132. How do you pass an array info a function ? [1]
133. What is a Memory leak in C/C++ ? [1]
134. How do FDM 3d printers work ? [1]
135. What's the difference between servo and stepper motors (wrt Automation) ? [1] [2] [3] [4]
136. How do computers keep time ? [1]
137. GPS Data Format[1]
138. Understanding NMEA [1][2]
139. Understanding Quaternions[1][2][3][4]
140. Understanding CTs[1][youtube]
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

ESP specific
141. ESP-Mesh network ? [1] [GITHUB][youtube]

Demo your skills


Demonstrate your skills (optional)
Any projects you have done, bring them with you and showcase your code / etc on your laptop. This can include your professional
projects, FYP, MCU interfacing projects, experience with communication protocols, online systems, algorithm development, any previous
PCBs you made on Altium designer

------------------------------------------------------------------------------------------------------------------------------

Hiring Process / Philosophy


Instead of going over multiple rounds of interviews (analytical, technical, HR, etc) with a candidate over a period of time, we believe it's
best to do one long test /interview where the candidate spends time in our office answering questions & solving problems. You’re welcome
to ask us any questions ahead of time. You can also ask as many questions as you want after the interview.

Based on how the interview goes we may make an offer right away or get back to you in a couple of days.Alternatively some candidates
are placed on a wait-list and called when there is a requirement generated from our team.

For fresh graduates, we have some initial training requirements that need to be met before the selected candidate can begin work at our
startup. The orientation part is usually a couple of weeks. You will typically spend 75% of your time going through the training program
(learning the important things that will allow you to start contributing towards the actual work we do). The remaining 25% time will be spent
on implementing what you learned (by doing small tasks / projects). As time passes you’ll spend more time doing and less time learning.

At Cowlar, we believe our work should be a blend of hard work, innovation & excellence. This requires us to constantly strive to make
ourselves better at what we do. This means that learning is an essential part of everyone’s job. Not learning is not an option here.Everyone
at our company typically spends about 25% of their time learning new things and working on cutting edge (sometimes bleeding edge tech).
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

Our employees are expected to always be comfortable with learning new things, solving complex problems and working as part of a team
so we can deliver true value to our customers.

We typically have a probation period of three to six months. We offer competitive salary packages and offer opportunities for upward
mobility within the organization. Our salary packages are based on employee skills, learning ability, contribution to successful projects and
how well you fit into the team culture.
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

Reasons to work here


- Opportunity to Learn from an exceptionally talented core team
- Our management style, processes, policies & team skills are constantly in the process of improving. Joining us will help you become part
of a great team
- Access to purpose-built in-house specialized training modules to constantly make you better
- Access to paid online courses to accelerate growth & inspire you to build great products
- Freedom to work with core-team to choose an area of specialization over time that you excel in & that is mutually beneficial to you & the
team. We want our people to love at least 90% of their work & the tasks they do.
- Opportunity to work in a conducive and comfortable work environment (We take care of our people, treat them with respect & expect the
same in return)
- Free Meals & Snacks (Breakfast, Lunch, Dinner & unlimited Snacks). We have a Full-time dedicated Chef with a Full Kitchen in our office
that cooks and serves fresh, clean meals for the entire team. Free Tea, Coffee, Snacks are available completely free of cost.
- Multiple opportunities for rapid professional & personal growth
- A Competitive Salary Package
- Lots of opportunities of upward mobility within our startup by demonstrating you can execute
- Opportunities to get multiple salary increments per year based on clearly defined goals / performance / contributions to team’s core goals.
- The founders of Cowlar strive to be good leaders & lead by example [1]

How to Prepare for the Test


1. Prepare from the materials in this document. There are many links to useful resources. It is not expected that you will know everything on day one 4.
We’re just looking for people who can show the willingness to invest some time improving their skills before they come in for an interview. This is a
win-win scenario for you (the candidate). Preparing for the interview / test can seem challenging at first. But if you dedicate some time and effort into
learning and executing then it dramatically improves your chances of being hired asap. In the unlikely event you do not get an offer from us, you would
still have learned some skills which can help you in future interviews and set you on a path of rapid career development. Our test is not easy. This is
because we are looking for the best people. We’re not looking for button pushers, clock watchers or people who come to work as a compulsion /
necessary chore. We are looking for talented and passionate people who love their field of work and enjoy solving difficult and challenging problems.

4
Please note. If you’re an experienced developer, the threshold of what you should know will be different. We don't care about the number of years you’ve worked in the Pakistani software
services industry, we want to see what happens when the rubber hits the road. Everyone says they’re good. Please show us, don't tell us.
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

2. It is perfectly fine to reschedule your interview if you think you need more time to prepare. There is no negative marking for delaying or rescheduling
the interview date. You can reschedule as many times as you want 5 .That’s perfectly ok from our point of view. It is NOT OK to show up unprepared
and waste your & our time. People who show up unprepared are quickly offered a cup of tea & their interview ends in no time. We only spend time
interviewing people if we think there is a chance we can hire them. We generally only interview candidates ONCE.

3. You can use the internet during the interview. There is no negative marking for using the internet during the interview. You can also access this
document (or any bookmarks, code snippets, previous projects during your test for reference materials. You can bring as many cheat sheets with you
as you want.

4. It is generally recommended that you bring your own laptop so it’s installed with your preferred software/ code editors etc. If you cannot bring your own
device, one will be provided to you.

5. As you watch the videos in the test materials section below, increase the playback speed to 1.25x. Then as you get comfortable increase speed to
1.5x and eventually to 2x speed. Eventually, you’ll be able to watch a 40 minute lecture in 20 minutes without a problem.

6. Don't get stuck in one particular section for too long.

7. Look at the [1] level links for each section before diving in. Sometimes this will not be the case, you need to realise when you need to abort / close a
link and move on to the next link.

8. During the interview and demo portion at our office. You can use two life lines.

(A) Can use internet. If you’re experienced, you should have a decent hold of syntax (you should not have to look at a website in order to write a for
loop)

(B) Phone a Friend/Person (You are allowed to call anyone you want (you will have 5 minutes to have a conversation over the phone)

9. Please use online resources to revise and practice your core concepts. Here is a little secret. If you follow it, we will hire you. Worse case scenario is
you become better skilled at what you do. The secret is to work hard and spend the necessary time to learn. We are telling you in advance what
questions we will ask and where/ how to prepare for them.

10. You need to get comfortable with learning online and offline. One of the benefits of working at Cowlar is the having paid resources and training
materials available to you. If we hire you we have purchased more than 100+ paid courses / online tutorials from sites like Udemy, VueMastery,

5
If you want to reschedule your interview on the same day it was supposed to take place, you’ll need to give us four hour’s advance notice. This helps us differentiate from people who want to
reschedule & those who don't show up.
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

VueSchool, SkillShare, Pluralsight etc. so our team has the best conducive environment for learning. We also arrange to provide webinars that might
be useful for your professional growth.

When to schedule an interview


This is a question we often get asked. This will depend on the candidate after they have had a chance to go over the test preparation
materials. Generally speaking ...

For fresh graduates, it is highly recommended to invest some time in learning the material. Take a look at the topics, watch the videos /
read the articles and learn by doing. You will remember what you learn by doing . When you feel like you have sufficient idea and are 2x
or 5x better than you were before you started your preparation, please contact us by email to setup a date. Please send us three dates that
work for you. Do not think that there is a deadline for this position. Don’t schedule the interview fearing that someone else will take this
position. Schedule it when you’re ready because we usually only interview candidates ONCE 6. If you’re good and promising, there is a
very good chance we will hire you and put you through our training program. In the unlikely event where you don't get an immediate call,
you might be placed on a short-list where we tap into first when looking to add new fresh graduates.

In the unlikely event that you don't hear back from us at all, (the worst case scenario), you will always be in a win-win position. This is
because you will
- Still have gained some important & useful skills
- These skills will help you throughout your professional career
- Dramatically increase your chances of being hired by a good company in the future.
- You’ll learn how to learn online. That is an important asset.

For experienced professionals, please review the materials carefully. You might know a lot of these things. Our test / questions get
increasingly difficult based on the duration of your industry experience and based on the reputation of the (good) companies you worked
for in the past. You might learn something new while you revise and get better at what you do. There is really no reason to not learn.

From our point of view, the good thing about hiring experienced professionals is that they have already learned a lot and can begin
contributing to our team in a short period of time. Sometimes, the bad thing about hiring experienced professionals is that they have

6
We do make exceptions to this rule in exceptional circumstances. The chances of you getting that exception are about 2%
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

learned some bad habits 7 in the past. Please leave all those bad habits behind when you come in for the interview. This can be difficult to
do. Bad habits are difficult to break. But one can always try. It takes self-realization, will power & determination. The greatest minds are
those that can be changed. We don't hire people with bad habits. The reason is that we cannot allow anyone to ruin our culture, no matter
how brilliant they are. There is no & never will be any place for brilliant jerks at our startup.

7
The bad habits can be programming or development related. They can be related to poor development methodologies or practices. They can also be related to not being a team player. They
can be related to not acting responsibly. They can be related to not treating others with respect. They can be related to gossiping or participating in office politics. If you think writing good
maintainable code, commenting, documentation, Testing, Software Quality Assurance is for losers, please schedule an interview for Feb 30, 2050
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

Interview FAQs

What time does the interview usually begin ?


Typical time for starting an interview is at 11.30 am. You pick the date, we pick the time (unless you’re travelling from outside the city. In
this case, please inform us beforehand in writing so we can accomodate you)

How long does the interview / test last ?


The Duration can be anywhere between 5 minutes to 5 hours. Please plan on being here for 5 hours in case the interview goes that long.

What to expect on interview day?


- You arrive between 11.15 am to 11.25 am. You will be judged for being late. Please inform us ahead of time in case you’re running late.
Please plan to arrive on time and consider traffic / your commute to our office.
- Your first question is water / coffee / tea or green tea ? Please pick one of the choices. Nothing is not one of the choices. This is a clear
sign that you read this document carefully and are capable of following instructions.
- You are then given a piece of paper with some analytical questions and a pen + calculator. Please answer the questions. You can
answer any 5 questions of your choice. If you want to use the internet, show us the questions so we can keep a score of how many
without internet and how many with internet.
- You’re then asked a few simple questions about yourself and regarding the things mentioned in the CV.
- You will be given 3 to 5 minutes to present your case (pitch us why we should hire you and how your preparation went)
- We will then start asking questions. The questions and how you chose to answer them will determine how many people from our team
join / leave the interview.
- The questions tend to increase in difficulty level over time. We might ask you to write some code.
- Please keep your answers short, concise and to the point. We do appreciate when someone explains a related concept with great
clarity, but please don't go around in circles for every answer.
- Please try to answer all questions honestly and don't hesitate if you don't know the answer. Take a couple of seconds to think or ask us
to repeat the question if you had difficulty understanding the question.
- Please dont think there are any bonus points for not using the internet. You can actually use the internet every time you’re asked a
question. In this case, we are judging (& hoping) that your answer is correct and taking note of the duration of how long it took you to
answer.
- If we end up spending more than one hour, you can ask us how your interview went at the end (we only provide feedback optionally / if
you ask us). We are also looking for feedback about the interview process and how you think we can improve as a startup.
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

- At any time, you can choose to decide that you don't want to work here and leave.
- Please feel free to use the toilet (in case you need to)
- Please feel free to pause the interview in case you need to pray. You can pray in the designated area in the office.
- Lunch, snacks and dinner are offered free of cost. Please accept food /drinks that is offered and dont do ‘takulf’.
- If you smoke, no smoke breaks are allowed during the interview. You are welcome to go outside and smoke as much as you want
before or after the interview.
- Please treat our people with respect. We try very hard to do the same.
- Please keep all comments / feedback to yourself till the end of the interview (in case the interview lasts more than one hour).

Why can the interview duration last 5 hours ?


As we spend more time interviewing a candidate, the difficulty level of the questions increases. Please understand that we only
interview/test people for longer because they are overcoming the obstacles and increasing their chances of getting an offer on the spot (or
very soon).

Do you provide any remuneration for candidates traveling from outside Islamabad / Rawalpindi ?
No

Why is this document so long ?


We want to know if you can read, listen, understand & execute. We also want to know if you actually take the time out to read this entire
document. We will be testing this during the interview. The length of this document is also meant to discourage people from asking to be
interviewed in-person (esp who are not interested in working hard / reading documentation / learning new things). Your job as a software
engineer requires you to know how to read well and how to write well too (although that is a much harder skill to master). Reading this
document carefully is part of the test / interview :)

Will you answer my questions about the YC experience or provide feedback about my startup idea ?
No

What are you looking for in fresh candidates ?


In fresh candidates, we are looking for people who want to become polyglot software engineers /developers (if you’re applying to the sw or
web dev track). If applying for embedded/electronics/systems engineering roles, we are looking for candidates with very strong concepts,
high intelligence and the ability to learn super fast. During your initial training period, you will be trained in many facets of software
development & software engineering. You must be okay with developing a decent understanding / working knowledge of various aspects of
Cowlar Inc. / HR / Embedded Design Engineer Interview Prep

technology development (basically you need to know what other people are doing in the company so you can talk to them if you’re in need
of their expertise for your project / task.

How do you decide on salary ?


Our salary packages are based on a combination of employee skills, learning ability, their contribution to successful team projects & how
well you fit into the team culture.

How do you decide which roles to assign to new team members once you hire them ?
Generally speaking, over time, you (the employee) & us (the company) will mutually agree on your areas of specialization based on your
preferences, skills, your proficiency and the company’s needs after the orientation and training period.

Best piece of advice to prepare for the interview / test?


Please try to relax. Try to avoid being anxious We have a special effort not to make the interview tense. This is because we want to see
how you perform in real job like conditions. Just prepare as much as you can, try your best and leave the results to Allah. Here are some
resources to use to reduce interview nerves [1] [2] [3] [4]. We highly recommend watching all these videos.

You might also like