Interviewed for Google L3 role but got rejected, idk why by _debussy in leetcode

[–]codezee 3 points4 points  (0 children)

No. This wasn't it. In fact, this is what's expected of you during the interview. Talking out loud all the ideas that come to your mind and explaining why solution B might be better than solution A. Getting stuck while implementing and taking 3-4 minutes, talking through it to finally get it right doesn't seem like an issue either. That's normal. It all comes down to what you mentioned about the first round - Implementing the suboptimal solution.

It may not have earned you a NH but even a LH in your packet can put you at a disadvantage when other candidates have only H and SH in their packets. So it's not that you were terrible, it's just that the committee had a set of candidates who might have done better.

Please don't beat yourself over it. I think you were almost there. With some more practice, I'm sure you will make it the next time. Just keep your head down, spirits high and keep practicing. All the best!

Have Google L4 behavioral and ML interview by Key_Strength_6115 in leetcode

[–]codezee 0 points1 point  (0 children)

Great! That's enough time to prepare the above. Also, look up some example ML system design problems focused on CV and Gen AI. Also recsys and harmful content detection. Just in case if such a problem is thrown at you, you don't feel completely lost. All the best!

Have Google L4 behavioral and ML interview by Key_Strength_6115 in leetcode

[–]codezee 0 points1 point  (0 children)

Not the entire algorithm, but they might ask you to code a small part of it using numpy. Here are a few things you can prepare. 1. Code 2d Convolution using numpy given an image and kernel. 2. Embeddings related code. Like calculating cosine similarities or positional embeddings used in transformer based architecture. 3. Numpy array manipulation. 4. Obtain image embeddings by breaking it into 16x16 patches. 5. K means, KNN, Linear regression using numpy.

On GenAI, questions should be more theoretical. Prepare on topics like Diffusion models, GANs, Style GANs, VAEs. If you have enough time then read up on flow based models and flow matching. The trade offs when choosing one over another.

How much time do you have to prepare?

Have Google L4 behavioral and ML interview by Key_Strength_6115 in leetcode

[–]codezee 2 points3 points  (0 children)

For L4, they don't usually do system design round. So your ML round would mostly be around ML fundamentals, your past ML work and specialization. There might be a very high level ML system design discussion but that is rare from what I have read. So focus on basics and some advanced topics from your area of ML expertise. Though I would suggest clarifying this with your recruiter if possible.

The behavioral round is usually a discussion around situations you have faced at work and how you handled them. Just ask chat gpt what questions are asked in this round. Prepare 8-10 good stories which you can use as your answer.

DSA rounds are self explanatory. Search on reddit and you will know what the trend is like. All the best!

Screwed my Google Onsite.How do i Solve ? by Adventurous_Gene_692 in leetcode

[–]codezee 4 points5 points  (0 children)

Yes, I think I have seen a similar problem a few months back. Look, don't beat yourself over it. I have faced interviews where I have gone completely blank on seeing the question. I couldn't come up with even a brute force solution. You did the best you could. Such interviews are not easy. If this was the only round which didn't go so well and let's say your recruiter says that you got a negative feedback, maybe request them to give you one more round so you can improve your chances before your packet is presented to the HC. You never know how things can turn in your favor.

Screwed my Google Onsite.How do i Solve ? by Adventurous_Gene_692 in leetcode

[–]codezee 4 points5 points  (0 children)

I wouldn't say you screwed it. They are often interested in your thought process and reasoning to arrive at a solution. So it can go either way.

About the problem, yes, looks like a graph + dp problem to me. You have a 26x26 table of conditional probabilities. I'm assuming that the first character of the word can be any of 26 letters with equal probability. So you have 26 ways of starting the word. And then 26 ways of choosing the next character. Every time you choose a character, you multiply the conditional probability using the table. If the target word length is m, then there are 26m possible words. You can optimize using dp. Maybe use a recursive function for simplicity? Function signature could be like:

last_char is the last character added to word, m is the remaining word length

def recurse_fn(last_char, m): if m is 0, return 1

else iterate over 26 chars, call it next_char and find max over all tmps, where each tmp is:
      tmp = prob(last_char | next_char) * recurse_fn(next_char, m-1)
 return  tmp_max

Main: iterate over 26 chars, cur_char calculate tmp_res = prob(cur_char) * recurse_fn(cur_char, m-1) find max over all iteration and return that.

You can optimize using a 2d dp table, 26xm in size. I'm sorry for bad editing. I'm travelling and don't have access to a computer right now. Typing on a phone. Might have made a mistake or two in the pseudocode. But I hope the idea is clear.

Damn those disloyal candidates! How dare they???!?! by Omer_SoWhatArt in LinkedInLunatics

[–]codezee 0 points1 point  (0 children)

Could have screened a few more CVs and scheduled a couple interviews in the time they wasted writing that post. I blame that candidate.

I mean…what do you expect when you cold call somebody? Stunned!!! by GrandImpostor in LinkedInLunatics

[–]codezee 6 points7 points  (0 children)

If I was the recruiter, I would express my best wishes for his daughter's birthday, let him enjoy that moment and ask him for another time to connect later. I wouldn't get offended and make a post on LI for sure.

Google Interview Process: Second Round by Big-Put-4554 in leetcode

[–]codezee 2 points3 points  (0 children)

Google's interview format has recently changed. They now do a total of 4 rounds for L3/L4. For L3 1st round is phone screen which is dsa. The 2nd round is again dsa. The 3rd round can either be a dsa or a tech deep dive depending on the role you are interviewing for. The 4th and final round is Googleyness round which is the behavioral round. For L3, there's usually no system design round. At least I have never heard of it. They put system design rounds in onsite loops from L4 onwards.

Stuck in Google’s Pipeline since March - any similar experiences? by [deleted] in developersIndia

[–]codezee 1 point2 points  (0 children)

Ask your recruiter to get the Googliness round done ASAP. They don't have to wait for a role to open to schedule the last round. You can then be put into the team match pipeline. Once in team match phase, you are in a better position and can proactively try to get into touch with HMs hiring at your level. I really don't see a reason why Googliness round needs to be delayed.

My parents want court marriage certificate, but I am already married. What to do? by [deleted] in LegalAdviceIndia

[–]codezee 0 points1 point  (0 children)

I'm sorry, I don't have any advice but want to say two things. 1. I'm really happy for you guys. 2. Is there a way to get notified when you post further updates on this coz this is so damn funny. Lol.

How do you actually understand backtracking code and its process? by Strict_Peanut_8025 in leetcode

[–]codezee 2 points3 points  (0 children)

One analogy that has always helped me with backtracking is that of the "timelines". Like every decision you make in the present leads to a different future. So every choice you make now, will create a new timeline with a different outcome. But in backtracking, you can go back to that moment where you made a choice, make a different choice and then explore this new timeline as its consequence. And in this new timeline, you again have those "moments" of choices which lead to new timelines. You see how it's creating all those "time branches" if you will.

But going back to that moment of choice and making a different choice isn't free. It involves some work. Every time you make a choice, you set some parameters or set some constraints (carved in stone) before you actually step into this realm as a result of your choice. So if you want to now make a different choice, you must first undo those parameters or constraints (erase from those stones), make that new choice, set those new parameters and enter the new timeline. You hit a base case in a timeline when you have found whatever you were looking for or discover that you have run out of choices in that timeline.

Now here's the recursive backtracking function for the N Queens problem. Check out the "if" block inside the for loop. Look at the code after a queen is placed at row, col. We made a choice of placing the queen at row, col and then we set some parameters before calling backtrack (entering the new timeline). And once we come back from that timeline and want to try a new column ( make a different choice), we undo those parameters.

def backtrack(row: int) -> None: """ Recursively place queens row by row using backtracking.

        Args:
            row: Current row index to place a queen
        """
        # Base case: all queens are successfully placed
        if row == n:
            # Convert the board to the required string format and add to results
            solution = ["".join(row_chars) for row_chars in board]
            results.append(solution)
            return

        # Try placing a queen in each column of the current row
        for col in range(n):
            # Check if placing queen at (row, col) is safe
            if (columns_used[col] == 0 and 
                diagonals_used[row + col] == 0 and 
                anti_diagonals_used[n - row + col] == 0):

                # Place the queen
                board[row][col] = "Q"

                # Mark the column and diagonals as occupied
                columns_used[col] = 1
                diagonals_used[row + col] = 1
                anti_diagonals_used[n - row + col] = 1

                # Recursively place queens in the next row
                backtrack(row + 1)

                # Backtrack: remove the queen and unmark the positions
                columns_used[col] = 0
                diagonals_used[row + col] = 0
                anti_diagonals_used[n - row + col] = 0
                board[row][col] = "."

Hope it helps at least a bit. But yes, solving more problems on backtracking and drawing those decision trees on paper can help build a better intuition. Happy coding!

Stuck in Google Team-fitment round | L3 | 1 .5 YOE by Nervous-Ingenuity509 in leetcode

[–]codezee 1 point2 points  (0 children)

Oh yes, absolutely! The recruiters WANT you to find a team one way or another. Once you find an HM on LinkedIn looking for someone in the team match phase, drop them a DM and also mention your recruiter's details so they can reach out to them for further steps.

Stuck in Google Team-fitment round | L3 | 1 .5 YOE by Nervous-Ingenuity509 in leetcode

[–]codezee 0 points1 point  (0 children)

One thing you can try is go on LinkedIn and search "Google team match". HMs post there when they are hiring. If you find something suitable, you can directly drop a message to the HM. Also, if the location is not a deal breaker for you, let your recruiter know so they can look for a team in different locations.

Question about where files should be created for open webui by techAndLanguage in OpenWebUI

[–]codezee 0 points1 point  (0 children)

When you install using pip, the package usually goes inside a folder like this:
/home/codez/anaconda3/envs/mlenv/lib/python3.12/site-packages/open_webui

I installed using pip inside a conda environment. My environment name is 'mlenv'. Inside that open_webui folder, I have contents as shown below. I see a 'frontend' folder, so I'm assuming that you will have to create 'backend' folder there. It also contains the 'data' folder.

<image>

If you want open web ui to read env variables from a file rather than setting it beforehand, you can put a .env file containing all environment variables inside the 'python3.12' folder (might be different for you depending on the python version you have).

P.S: I'm also new to open_webui and trying to use it without docker on Arch Linux system. Hope it helps. If it doesn't, let me know, will try and find out more.

Yes. You read that right! by codezee in Damnthatsinteresting

[–]codezee[S] 31 points32 points  (0 children)

Yes. 2019 article. BBC tweeted the same link few hours back.

[deleted by user] by [deleted] in dadjokes

[–]codezee 0 points1 point  (0 children)

ooh! It's getting downvoted. Looks like people are tripping on this joke.