What’s more cocky and sarcastic than Ben Awad? Ben Awad after he successfully reverses a linked list. Check out the video we did on Ben’s channel if you wanna see _me_ get interviewed by Ben! th-cam.com/video/gnkrDse9QKc/w-d-xo.html
@@jomalomal you're confusing the meaning of a "beginner" to programming to the meaning of knowing how to study particular coding problems like reversing a linked list. I might have studied linked lists in a college class. But programming for 5 years + earning more than 6 figures. I have never needed to know how to reverse a linked list. But once I looked at the problem, studied it and learnt it fully within a couple hours. So I'm saying you're confusing studying leetcode questions to being a beginner to coding. You can program without knowing a lot of these questions like inverting a binary tree. All those questions only show you know how to study for an exam. Ben is clearly not a beginner, he's programmed a lot. He just didn't take time to study those Leetcode questions
He is smart and also has a math background so that helps him a lot when he codes as coding involves a lot of problem solving, logic, and analytical thinking.
this is one of a few computer programmers that is this energetic and interesting in terms of communication and interaction, most people I know are nerds and introverts, that is also myself LOL
This video was super fun, I myself love frontend engineering and I'm a big fan of both you and Ben Awad, so I'd definitely like to see you put him through a real google coding interview.
😂Not the best variable name for an arbitrary linked list node, but I figured Ben wouldn't name it like that in a real production-grade codebase. Also, this was just a fun interview!
Im subscribed to both and am happy to finally see you two in action. Had fun watching this and the one on Ben's channel! Cannot wait for the follow up videos on both sides. xD
That inverseLinkedList could be a real challenge for someone who never heard about that before, it is not something we normally do in a daily basis. I can say it is not easy, even harder than the matrix challenge in the later session with Ben.
@@SpaceTimeBeing_ I'm new to python, what exactly are the benefits of using them? Because it's a seperate segment, you don't have to worry about indenting I assume?
You also can reverse linked list with recursion: def reverse_linked_list(node, next=None): if node.next is None: node.next = next return node new_node = node.next node.next = next return reverse_linked_list(new_node, node)
@@KayronDeacon yeah when I first heard it I thought it was head as input, but an array of leaf nodes or something as output, and you have to reverse the connection, so the original left child will now have its parent as its right child.
I pause the video at the linked list reversal question and challenged myself to come up with a function. It took me an hour but I finally got it! Now I'll watch what he came up with.
This the only video I know how to reverse linked list. Means easy task I have seen on this channel otherwise I have only seen a difficult task here. I prefer all who see my comment to see this channel because it is really helpful. Best for logic design.
For whatever reason linked lists are so confusing to me compared to other data structures. Seeing that it even made Ben have to really think about it makes me feel somewhat better about myself
LinkedLists are exactly what you think the are. They're Lists that refer to their elements by links. If you think about how Arrays work under the hood, they're LinkedLists, but only in memory. Meaning the Array knows where each element is due to its place in memory. If you're confused by LinkedLists, you must be really confused by DoublyLinkedLists then. Which is just a List where each Node knows it prev and next. Did a project in school where we built Google's ranking system using DoublyLinkedLists, it was easy and made total sense.
@@Dyanosis "If you think about how Arrays work under the hood, they're LinkedLists, but only in memory" - that's gotta be the most confusing way of explaining arrays i've ever seen lol
Wheras Clement has created a platform for training people to crunch through these thoes of interview questions (and has hired tim to help him with it), wheras Ben questions the relevance of the practice. It would be interesting to hear them discuss / debate the relative advantages and disadvantages of coding interviews
using Python made inverting the binary tree a lot easier.. I'm a medium level coder and it took me about 45 mins to come up with the recursive logic and code the same in Java.
I didn't know what inverting a binary tree was and once I saw that diagram, I immediately got the solution(same as what Ben did). Also, using multiple assignment is shorter tree.left, tree.right = tree.right, tree.left.
tree.left, tree.right = tree.right, tree.left will be incorrect because tree.left will not be what you want to set tree.right to. You still need a "temp" var to hold tree.left before you set tree.right. But yes, multiple assignment (for languages that understand it, is useful here).
What I would have done is found the middle most index, then Create an array with indexes = to the previous one Find distance from middleIndex to each point in the list If currentIndex < middleIndex then add 2 x difference from currentIndex to middleIndex If currentIndex > middleIndex then subtract 2 x different from currentIndex to middleIndex Take those values from the first array, then shove them in the index in the new array that we got from the previous equation, iterated thru the entire first array
@@Remy2Stronk it does the same thing but wirhout the complexity of creating a new array/list,which is not allowed either way(according to the rules of the exercise)
Jezz i can never be this happy talking or giving my interview both of them are so chill. Greate watching them . I'm far away to crack any interview btw.
@@clem Tourist will be like "I have 7 gold medals in code jam . So ask your question and watch my screen casts , rather than wasting my time". Anyway, i don't think Gennedy would ever say that.
inverted binary should be reversing all the numbers where head now points to the last record which is the highest number and the last record at the bottom should be pointing to 1. This binary tree problem is instead called flipping the left and right nodes of a binary tree
Oddly enough, this is a lot like my recent interviews went, minus the fact that I had a white background google drive instead of an ide. My interviewer also asked me weird questions and then got both of confused for half an hour c:
One thing I don't understand is how you can be using .next outside of the LinkedList class definition without having a "getter" for it. I only see the constructor there.
I feel like the way Ben interview is really good, he acts clueless and really plays up the fact that he’s using his problem solving skills. Then again he could actually just be clueless with good problem solving skills lol
I really enjoyed this video but I don't believe Ben can simulate a legit technical interview. He didn't take this seriously at all. I'd really love to see a mock interview with a recent Fullstack graduate.
/*I stopped the video at 12:29 and decided to do it by my own before watching his solution (not sure if it's kind of cheating because I saw a "starting point", although I didn't really based the idea on the solution so far at that point) After between 3-5 minutes I came up with this:*/ (head) curr = head; prev = null; do { next = curr.next; curr.next = prev; prev = curr; curr = next; } while (curr != null); //What do you guys think? //Well, time to keep watching the video, to see what Ben came up with
I didn’t get notified for the video but it popped on my recommendations. I guess where the notifications fail the all mighty TH-cam algorithm is there to save the day. Also, what did you main back in the days you were playing Overwatch ? YoE: -1 TC:0K/ Year
Do you guys think it's interaction/energetic/proactively communicating, or do you think it's kinda rude, when he interrupted/talked to himself when Clement was talking?
Recursion is our friend here. Pop off the head, reverse the rest (recursively), append the original head. Return :) To preserve the original llist, do the same but loop through reverse(head.rest) as another variable, then append head.first as a separate link on the end. Return :)
We have done this exercise so many times in class, during my second year, that as soon as I saw this my brain went "OH NO! What if I've always solved it the wrong way?!"
Would it be okay to push the nodes on the top of a stack, traverse through the list and pull each node of it. This solution isn’t pretty clean, but it should work
Exactly what I would do. Even though it's not the fastest solution (since you're looping through 2n elements), it's probably the cleanest, which IMO would tell the interviewer that you don't think chaotically.
What’s more cocky and sarcastic than Ben Awad? Ben Awad after he successfully reverses a linked list.
Check out the video we did on Ben’s channel if you wanna see _me_ get interviewed by Ben! th-cam.com/video/gnkrDse9QKc/w-d-xo.html
you guys are making awesome content, making software engineering fun
Can i apply and get an interview at Google when I'm living overseas? Or do i have to move to the US before applying for the job...
What advice do you have for us foreigners?
😂
th-cam.com/video/3Eqidoe2Iog/w-d-xo.html
I imagine this guy saying "idk that's pretty sus" in the actual interview and the google techlead be like
"Aight, you in"
AMOGUS KEANU REEVES REDDIT WHOLESOME 100 EPIC GAMER MOMENT GOOGLE APPROVED INTERVIEW
@@ZVEKOfficial ok
@@ZVEKOfficial this was 11 months ago, give it a rest brainlet
Hey, why does Ben get the easy question!!! I had to suffer through the very hard one for a whole hour 😑
R.I.P
coding interviews are truly broken.......it just went brrr
Rip
Hey Tim
you can watch the title , it says " Easy interview "
And I think you r better than awad in coding 😏😉⚘
but thanks ;)
Clem : Do you have any questions for us ?
Ben : How on earth can you keep using Angular ?
Clement you should interview more beginners and see their progress in a couple of months. this would be really fun and interesting
It'll be awesome! 🚀
calling ben a beginner DAMN
@@list9016 bro did you see how much he struggled to reverse a linked list? Clearly a beginner, at least with data structures and algorithms
@@jomalomal these things take practice ,it's nothing magical with them.
@@jomalomal you're confusing the meaning of a "beginner" to programming to the meaning of knowing how to study particular coding problems like reversing a linked list. I might have studied linked lists in a college class. But programming for 5 years + earning more than 6 figures. I have never needed to know how to reverse a linked list. But once I looked at the problem, studied it and learnt it fully within a couple hours.
So I'm saying you're confusing studying leetcode questions to being a beginner to coding. You can program without knowing a lot of these questions like inverting a binary tree. All those questions only show you know how to study for an exam. Ben is clearly not a beginner, he's programmed a lot. He just didn't take time to study those Leetcode questions
I love Clement giggling at Ben's every move
That's what happens when you interview a natural comedian.
@@clem ehm👀 do you mean he is a joke?😂😂
@@nomadvagabond1263 nope his live is a joke 😂😂😂
*changes d to D and calls it Big D in a coding interview*
Interviewer - HHHHHMMMMMMMM 👀
tel me the timestamp for when that happened! Please!
@@aryamankukal1056 pretty much at the beginning, first question when he starts commenting the way
Dallas is also referred to as The Big D 😂
@@aryamankukal1056 6:48
Finally someone who noticed
Ben looks so much happier in this video then he does in any of his own.
You should interview him for Angular
I think Ben would just walk out of that interview and even *rm -rf* the machine he'd be interviewing on.
Ben hates angular
I literally want to watch this😂😂
@@clem hahahahahah
@@clem 😂😂😂
It's kind of fun seeing a master failing a bit in other master's craft. Great video clement.
how could you beat the guys who have been coding for years when you have been coding only for 6 months? you are amazing and talented.
He is smart and also has a math background so that helps him a lot when he codes as coding involves a lot of problem solving, logic, and analytical thinking.
this is one of a few computer programmers that is this energetic and interesting in terms of communication and interaction, most people I know are nerds and introverts, that is also myself LOL
This video was super fun, I myself love frontend engineering and I'm a big fan of both you and Ben Awad, so I'd definitely like to see you put him through a real google coding interview.
i thought clement will pull his hair out as soon as awad named a variable "next_guy" :)
😂Not the best variable name for an arbitrary linked list node, but I figured Ben wouldn't name it like that in a real production-grade codebase. Also, this was just a fun interview!
Classic Ben Awad though.
what would be a better name? xD
@@JustTheHighlights Equality!
😂😂😂😂
dude seems so happy and cocky at the same time, couldnt help it but smile all the way through the video
He lost me when he shortened “temp” to “tmp” but left “previous” as “previous
😂😂😂
@@brooksgunn5235 LMAO
Typo
There is a video on my Algoexpert ad 😂
10/10 would love to see Ben do the actual coding interview. Make him use Angular 👀
Apart from the actual coding, this guy is just so fun to work with.
best variable name : next_guy xD
next_next_guy
next_guys_neighbor_that_asks_for_sugar
Imagine if a very skilled candidate adopted Ben’s skill of typing jk and troll var names and comments
"I'm not happy about that naming convention" ohhh Ben I love you for this.
This was by far one of the best nd funniest vids I've seen on this channel....
"How about that algo girl" was just epic 😂😂
There's actually a missing edge case. If the linked list is empty, it is represented by None and the function crashes accessing curr.next in line 14.
The function accepts the head as input, implying that the list has at least one item being the head
@@ayhamboi9720 no not really. head can point to null (empty list)
@@theendurance its passing the node itself not the pointer of a linked list struct, and a null node would be invalid here
@@ayhamboi9720 not correct
Im subscribed to both and am happy to finally see you two in action. Had fun watching this and the one on Ben's channel! Cannot wait for the follow up videos on both sides. xD
That inverseLinkedList could be a real challenge for someone who never heard about that before, it is not something we normally do in a daily basis. I can say it is not easy, even harder than the matrix challenge in the later session with Ben.
Ben is the man. Cool to see the colab!
I forgot how to reverse a linked list after I saw Ben scramble😂
py devs: "Oh PyThoN Is ThE BeST"
Also py dev: spending hours to find a frikin INDENTATION Error.
LMAO
you meant to say python_is_the_best :p
Yeah if you’re dumb and don’t use a modern editor
Use a linter bro wtf
@@SpaceTimeBeing_ I'm new to python, what exactly are the benefits of using them? Because it's a seperate segment, you don't have to worry about indenting I assume?
Exactly this. F- python
17:21 Ben is not pulling his punches back lol. Roasting about Vim mode in the video 😂
i love how the algoexpert guy just smiles all the time
You also can reverse linked list with recursion:
def reverse_linked_list(node, next=None):
if node.next is None:
node.next = next
return node
new_node = node.next
node.next = next
return reverse_linked_list(new_node, node)
8:55 "This is what I know I think is right"
story of my life lol
Damn I never thought inverting a binary tree is that easy
I don't know why everyone makes it out to be so scary or difficult! It really isn't!
Because it sounds like you're flipping it vertically not horizontally.
@@KayronDeacon yess.
@@clem Because of the ad, lol. I watch that ad like 30 times a day.
@@KayronDeacon yeah when I first heard it I thought it was head as input, but an array of leaf nodes or something as output, and you have to reverse the connection, so the original left child will now have its parent as its right child.
I pause the video at the linked list reversal question and challenged myself to come up with a function. It took me an hour but I finally got it! Now I'll watch what he came up with.
I completely over complicated my method compared to his...
This the only video I know how to reverse linked list.
Means easy task I have seen on this channel otherwise I have only seen a difficult task here.
I prefer all who see my comment to see this channel because it is really helpful.
Best for logic design.
This was fun. Really looking forward to the next interview with Ben.
Dude watching this again after an year or so, watching Ben is still so funny man
For whatever reason linked lists are so confusing to me compared to other data structures. Seeing that it even made Ben have to really think about it makes me feel somewhat better about myself
LinkedLists are exactly what you think the are. They're Lists that refer to their elements by links. If you think about how Arrays work under the hood, they're LinkedLists, but only in memory. Meaning the Array knows where each element is due to its place in memory.
If you're confused by LinkedLists, you must be really confused by DoublyLinkedLists then. Which is just a List where each Node knows it prev and next. Did a project in school where we built Google's ranking system using DoublyLinkedLists, it was easy and made total sense.
@@Dyanosis "If you think about how Arrays work under the hood, they're LinkedLists, but only in memory" - that's gotta be the most confusing way of explaining arrays i've ever seen lol
Imagine cracking an angular jocks in google coding interview.
you guys seem like you've been friends your entire lives lol
Wheras Clement has created a platform for training people to crunch through these thoes of interview questions (and has hired tim to help him with it), wheras Ben questions the relevance of the practice.
It would be interesting to hear them discuss / debate the relative advantages and disadvantages of coding interviews
@@discretelycontinuous2059 I want to see this!
Can you do the round two please? With more difficult questions??? Would love to see Ben grind
I just loved the video ❤❤ the interview was too cool to be called as an interview 😊
@17:29 Clément exhibiting God-tier restraint :)
using Python made inverting the binary tree a lot easier.. I'm a medium level coder and it took me about 45 mins to come up with the recursive logic and code the same in Java.
I think we are gonna get a new worker for algo expert 😁
👀
I didn't know what inverting a binary tree was and once I saw that diagram, I immediately got the solution(same as what Ben did).
Also, using multiple assignment is shorter tree.left, tree.right = tree.right, tree.left.
tree.left, tree.right = tree.right, tree.left will be incorrect because tree.left will not be what you want to set tree.right to. You still need a "temp" var to hold tree.left before you set tree.right. But yes, multiple assignment (for languages that understand it, is useful here).
@@Dyanosis it does. The assignment expression has variables passed by values on the right. Try running it for yourself once.
Hey Clement, Pls make a playlist of your Mock Programming interview questions.
Thank you in advance.
I started watching this video and i got so lost in it that i didn't feel that it was 28 fuckin minutes long... Amazing one🔥❤️
I don't know why but this video hyped me up to practice my programming!
Your videos are so awesome, funny and at the same knowledgeable ❤️
Please make more Google coding Interviews @AlgoExpert Guy
What I would have done is found the middle most index, then
Create an array with indexes = to the previous one
Find distance from middleIndex to each point in the list
If currentIndex < middleIndex then add 2 x difference from currentIndex to middleIndex
If currentIndex > middleIndex then subtract 2 x different from currentIndex to middleIndex
Take those values from the first array, then shove them in the index in the new array that we got from the previous equation, iterated thru the entire first array
too much complexity
@@pant1371 i don't know how else to solve it haha
@@Remy2Stronk that's how i did it on C:
struct Node* reverseList(struct Node* head)
{
struct Node* prev = head;
struct Node* curr = head->next;
struct Node* tmp1 = prev;
struct Node* tmp2 = curr;
int i=0;
while (curr!=NULL)
{
tmp1=curr;
tmp2=curr->next;
curr->next=prev;
if (i==0){
prev->next=NULL;
}
i=i+1;
prev=tmp1;
curr=tmp2;
}
return prev;
}
@@pant1371 isn't that kind of just a recursive method but does the same thing?
@@Remy2Stronk it does the same thing but wirhout the complexity of creating a new array/list,which is not allowed either way(according to the rules of the exercise)
this was fun, one of those easy questions that just takes some examples to run through and get it down
Jezz i can never be this happy talking or giving my interview both of them are so chill. Greate watching them . I'm far away to crack any interview btw.
what's the hardest thing in the world?
Ben: AngularJS
I feel like he legit searched the answer to invert binary tree before hand. He struggled a little much for reversing a linked list
Google coding interview with Tourist when 👀
I'm down whenever he is!
@@clem tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist tourist!!!
I'm waiting for that day!!
torist doesn't give interviews
@@clem Tourist will be like "I have 7 gold medals in code jam . So ask your question and watch my screen casts , rather than wasting my time". Anyway, i don't think Gennedy would ever say that.
Anyone know what Ben thinks of Angular?
I'd be curious to hear 😏
Ben loves Angular
inverted binary should be reversing all the numbers where head now points to the last record which is the highest number and the last record at the bottom should be pointing to 1.
This binary tree problem is instead called flipping the left and right nodes of a binary tree
Oddly enough, this is a lot like my recent interviews went, minus the fact that I had a white background google drive instead of an ide. My interviewer also asked me weird questions and then got both of confused for half an hour c:
And how did they go
Yes. Please. Let's see the google interview!
Bro you just have to ask the channel "The cherno" to do a google coding interview!
that dude would kill it. The guy is wicked smart
i feel like Clement didn't contribute to any of the content here. where's the feedback, where's the review, where's the alternate solutions?
Your videos are all over the internet. I had to subscribe this time, :)
Absolutely love this video!!!! Look forward to you guys making the next one 🤩
One thing I don't understand is how you can be using .next outside of the LinkedList class definition without having a "getter" for it. I only see the constructor there.
Man I really miss those sick card trick intros
24:00: Just a sidenode, in Python you can actually do this: tree.left, tree.right = tree.right, tree.left
I never inverted a binary tree before.
paused the video and solved it and continue to watch.
I came up with the same solution
Thanks for this, these videos have definitely upped my confidence in my own abilities so I appreciate you guys!
I feel like the way Ben interview is really good, he acts clueless and really plays up the fact that he’s using his problem solving skills. Then again he could actually just be clueless with good problem solving skills lol
I really enjoyed this video but I don't believe Ben can simulate a legit technical interview. He didn't take this seriously at all.
I'd really love to see a mock interview with a recent Fullstack graduate.
/*I stopped the video at 12:29 and decided to do it by my own before watching his solution (not sure if it's kind of cheating because I saw a "starting point", although I didn't really based the idea on the solution so far at that point)
After between 3-5 minutes I came up with this:*/
(head)
curr = head;
prev = null;
do
{
next = curr.next;
curr.next = prev;
prev = curr;
curr = next;
} while (curr != null);
//What do you guys think?
//Well, time to keep watching the video, to see what Ben came up with
Ok! Now I wanna see Ben go thought a real intreview! :D
what's that extension you used to kj -> Esc at 4:09 omg i sooo need that!!
I thinks its vimium but Idk what command he typed.
I didn’t get notified for the video but it popped on my recommendations. I guess where the notifications fail the all mighty TH-cam algorithm is there to save the day.
Also, what did you main back in the days you were playing Overwatch ?
YoE: -1
TC:0K/ Year
Thank goodness for the TH-cam algorithm.
And I mained Mei, believe it or not.
YoE: 3.5
TC: over 9000
@@clem you should do a video where you play Overwatch, btw I am a 14 yo romanian who loves your content
I heard they’re adding ACT/SATs to their interviews now
Plans changed in the past 5 months. You now have to design a commercial airliner from scratch to work for most companies.
@@lagon7830 That makes sense!
Ben throwing shade on clem every now and then ;)
Do you guys think it's interaction/energetic/proactively communicating, or do you think it's kinda rude, when he interrupted/talked to himself when Clement was talking?
these questions getting easier and easier
I've only been in Computer Science at school for three months, so all of this is well over my head, but it's fascinating to watch anyway.
Same bro same
Recursion is our friend here. Pop off the head, reverse the rest (recursively), append the original head. Return :)
To preserve the original llist, do the same but loop through reverse(head.rest) as another variable, then append head.first as a separate link on the end. Return :)
Hi, I’m a beginner. Would using [::-1] apply here to reverse the list?
As someone new to programming, reversing linked lists still feels worlds away lol. Practice makes permanent i guess
I hope Ben gets the job after countless of interviews lol Great Content. Thanks!!
I'm only subscribing because you got Ben to come on your video.
I just got the "SO YOU WANNA BE A SOFTWARE ENGINEER AT GOOGLE?" add lmao
The chemistry is unmatched.
We have done this exercise so many times in class, during my second year, that as soon as I saw this my brain went "OH NO! What if I've always solved it the wrong way?!"
I don't understand any of this.....
Would it be okay to push the nodes on the top of a stack, traverse through the list and pull each node of it. This solution isn’t pretty clean, but it should work
Exactly what I would do. Even though it's not the fastest solution (since you're looping through 2n elements), it's probably the cleanest, which IMO would tell the interviewer that you don't think chaotically.
Oh snap, finally a question I actually saw in algorithms class.
I am not ready lol. Great video, first video I watch 100%.
I can't track what he's doing but this is already my favorite interview lol
This video was awesome, really. Waiting for the google interview heheh
We need another Ben awad X Clement video. Seriously
That "jk" muscle memory tho. This guy types like- cool variable name just kidding just kidding erase erase. 😁
might be his vim key binding to switch to normal mode though
I've got youtube notification for this video from both channels 😂
U guys are awesome !
I enjoyed watching the video
"That's pretty sus" XD I don't know who he is but I like him
That was good fun. I'd say Clément would sound even better in a non bare walls room :-)