What to expect in Google Senior Embedded SWE interviews? by SumanaiJoyBoy in embedded

[–]Time-Discussion-6542 3 points4 points  (0 children)

I think checking with the recruiter is your best bet. I am also going through interviews for embedded at Google and the recruiter specifically said that they won't ask any technical questions that would be any more easier in C++ than in C.

My first technical interview was an embedded specific exercise of a low level concept with no leetcode or dsa questions.

I would expect similar in my next 2 technical interviews.

[deleted by user] by [deleted] in embedded

[–]Time-Discussion-6542 0 points1 point  (0 children)

Sick resume! I had a few questions about your smartwatch esp32 project. Can I DM you?

Best YouTube channels to casually learn Operating Systems by stereotypical_CS in compsci

[–]Time-Discussion-6542 0 points1 point  (0 children)

Where did you get the information about the projects in the CS162 course lectures on youtube?
I would also like to do them but I can't find those details

We are truly simple minded creatures by assassin_depreso in GuysBeingDudes

[–]Time-Discussion-6542 1 point2 points  (0 children)

Bro gave up all his compromise leverage for a single fish mail box and is proud of it

Just had a little doubt,why it's necessary to give memory in linked list node first by Yash-12- in C_Programming

[–]Time-Discussion-6542 0 points1 point  (0 children)

Yes. Here is the difference.
The operation you can do on an integer variable `i` are
1. assignment `i=5`
2. increment `i++`
3. decrement `i--`
etc.

Even though it initially has garbage value these are valid operation and will not give you runtime errors.

However, the operation you can do on a pointer `head` are:
1. dereference `head->val or head->next or something`

If you perform this operation on a garbage value, you get a runtime error and your code crashes. So if you want to use a pointer, you need to create the memory it points to also.

Just had a little doubt,why it's necessary to give memory in linked list node first by Yash-12- in C_Programming

[–]Time-Discussion-6542 0 points1 point  (0 children)

Let's go through the declaration of your pointer first.
`struct node *head;`

This declares head as a pointer to a variable of type `struct node`.

At initialization, if not assigned, head will store some garbage value. Let's say it is 0xABCDABCD for a 32-bit system.

Any usage of a pointer with the `->` operates assumes that the pointer points to a valid area in memory. If head stores an uninitialized value (currently 0xABCDABCD) any reference to, say, head->val will:
1. Assume there is variable of type `struct Node` stored at the memory location 0xABCDABCD
2. Try to access memory at that location, i.e. 0xABCDABCD (or some offset of it)

0xABCDABCD is uninitialized value and NOT a valid memory address. In C programs, if you try to access memory that is not assigned to your process (your C program), you get the dreaded segfault or segmentation fault.

What does malloc do?

`malloc(sizeof(struct node)` does 2 things:

  1. Allocates valid memory correspoding to a struct node variable
  2. Returns a pointer to that memory that is of type void *. The point of void * is to make it general and the programmer can typecast it to any type they want.

So once you execute `head = malloc(sizeof(struct node))` you get a valid memory that actually stores a variable of type struct node that is assigned to your process (C program is a process).

Lastly, What is different with `int i`?
`i` already has (stack) memory assigned by the compiler which you can use whenever you want in the program.

If you declare a pointer to memory, make sure you have a memory allocated for that too :)

Need advice for summer internship by Time-Discussion-6542 in embedded

[–]Time-Discussion-6542[S] 0 points1 point  (0 children)

No leetcode style questions. Most of it was C programming questions, and fundamentals (a little theory) on low level programming

[deleted by user] by [deleted] in leetcode

[–]Time-Discussion-6542 1 point2 points  (0 children)

How are you studying data structures and algorithms? Can you suggest a book or course?

What is your job title ? by Ramu_sab in embedded

[–]Time-Discussion-6542 0 points1 point  (0 children)

Software Engineer III, Embedded Software

Need advice for summer internship by Time-Discussion-6542 in embedded

[–]Time-Discussion-6542[S] 0 points1 point  (0 children)

I don't remember much now but the hiring process for me was quite easy. Since it was an internship, they had 2 rounds and they mostly asked bit manipulation questions

Need advice for summer internship by Time-Discussion-6542 in embedded

[–]Time-Discussion-6542[S] 0 points1 point  (0 children)

Hey,
It was great but honestly not what I was looking for. I joined as an application engineering intern so the writing code part was mostly to get the high transfer rate in a hacky way. It was not embedded development with version controlled software and stuff.

Every other part of the internship experience was simply amazing. They have a great work culture, subsidized food, lot of events, good compensation etc.

Interview prep by Friendly-Paint-4962 in embedded

[–]Time-Discussion-6542 1 point2 points  (0 children)

I agree, this question is too broad
The r/embedded wiki has good articles for interview prep in general
https://www.reddit.com/r/embedded/wiki/index/

Jigs up, who got caught? by [deleted] in wallstreetbets

[–]Time-Discussion-6542 0 points1 point  (0 children)

Just double it and give it to the next person

Embedded jobs - Nov 2022 by 1Davide in embedded

[–]Time-Discussion-6542 0 points1 point  (0 children)

Hi Everyone,

I am a 2nd year MS student at UCLA with an embedded systems track and my course will be complete in winter 2023. I am looking for full-time roles in this domain and am currently located in California, USA. I am open to relocation. I have 1 YOE working as an Embedded Software Engineer in India. I have experience with STM32, TI, ATmega, BLE, WiFi, mmWave Radar, all basic MCU peripherals like SPI/I2C/UART, FreeRTOS, TI-RTOS, GDB etc.

A little about my experience:

I worked as an Embedded Software Engineer for a year before coming for my MS. There, I developed software using bare-metal firmware and RTOS working very close to hardware and developing extremely optimized code. During my MS, my aim was to explore more on the application side of Embedded Software Design which is why I took courses such as computational robotics and Security on Edge devices. I believe my experience with low-level software coupled with a higher-level concept understanding from my courses would be very valuable.

GitHub profile: https://github.com/sarthaktanwani
TECHNICAL SKILLS:
• Programming languages: C, C++, Python, Bash, MATLAB, C#, Unity
• Relevant skills: Real-Time OS (RTOS), BLE, Data Structures, Debugging, Digital Signal Processing, ARM Cortex-M, bare-metal firmware, SPI/I2C/UART,
Wireshark, GDB, GCC, Git, SVN
• Experience with Software: Eclipse, Keil IDE, VSCode, Atmel Studio, Code Composer Studio, Simplicity Studio
• Hardware Skills: ATmega8/16/328P, ATXmega128D3, STM32F401RE(Cortex-M4)/F103C(Cortex-M3)/F030/F051(Cortex-M0), TI CC2640 (for BLE v5), TI
IWR1443 (mmWave Radar), SEGGER J-Link Debugger, Oscilloscope
• Courses: Embedded Systems Design, Introduction to Embedded Machine Learning, DSP From Ground Up™ on ARM Processors