I do a mock interview with a developer at work, Cody. He crushes it! Join our Front End Guild Discord server: / discord We built a platform to guarantee your resume gets seen by a human: hackerrelay.com
ahh.. btw the solution that they agreed on is not correct, consider "ABCDAFG", their code will output "ABCD" but the correct answer is "BCDAFG". also this is an easy two-pointers problem.
Technical Questions and Answers React Fundamentals: State vs. Context: Explained the difference between state and context in React. State Updates: Discussed how to trigger state changes in parent components from child components. Redux: Shared thoughts on Redux and its boilerplate nature. Component Passing: Explained how to pass components as props to other components. Coding Exercise: Longest Substring.
As a person who preparing for frontend interviews, it really helped. Many people talk about the question because the question may seem like focused on algorithm. I don't know if this is the best interview for the md-level "react" interview though, the point is that. This video is really helpful for me. I really appreciate it you made this video and uploaded it on youtube. Thank you very much! I'm looking forward to further mock interview videos!
I really don't like that much this kind of interviews, because in real life you have an entire world to explore different approaches to hit the best solution. It feels more stressful than a real scenario, if you ask me. Good questions though. (As feedback: Next time don't use music, most of us are listening our own music)
Your solution fails on a string 'ABCDAEFGHI'. Your solution answer = 'AEFGHI', correct answer = 'BCDAEFGHI'. Sorry, but dividing by chunks isnt always enough to solve this problem; so your algorithm is wrong from its idea.
i won't lie, i did not expect the materials for mid-level position interview would be like this; i understand and can kind of solve the problem by myself which was surprising i always thought that i am more of a junior position guy despite having more than 1.5 yoe because i am never get confident enough of my skills.. but then maybe that's why i am still not good enough for a mid-senior level because i'm still not confident? no telling honestly lol
It's what happens to most self thought programmers, because we don't have grades given by teachers and often no one to compare too we think we are still not good. Reality is we very well may be overqualified for junior position but are held back by simple lack of experience and by extention lack of confidence. Then there is whole interview stress thing we're i know fir a fact outspoken confident but weak programmers do better then timid shy but very good programmers it's just how it is, so it's important that interviewer is experienced enough to catch wats going on.
The solution to this is wrong tho. If we had another string for example str = 'ABCDAEFGH' - the longest string here is 'BCDAEFGH'. The solution cody provided wouldn't work , so you need to check with either the substring method or charAt because you need to see if one of the characters is repeated.
Not sure I understand how the algorithm challenge has anything to do with react. Seems 90% of time not about react. And the code challenge was not well explained. Thought any consecutive same chars should have been eliminated in the results, but guess I was wrong.
Nice video but I think the candidate overall would have failed in my book. 1. They answered all the React questions in the beginning pretty well. 2. The solution for the coding challenge is pretty much O(n^2) due to the includes nested in the for loop. The solution is not optimal and a pretty messy. 3. The react code was messy. The util method should have been brought in from another file instead of residing in the component. The util function itself should have been "pure" and should not include any React state setter methods. That should be done outside of the util method. Not knocking the interviewee at all though, it's a lot harder under pressure obviously.
I think a good way to practice would be to copy a hackerrank problems into a react app, display the result(s) in a component, then make an input for the user to see different results from whatever the hackerrank question is asking to do. That seems to be the theme for many of the early-mid level questions. Cody kept saying something along the lines of "Theres probably a better way to do this" and I think that's ok to say, but if you say it too frequently, it makes you seem less confident or qualified. You might want to reword it in a more 'impressive' way by saying something like "I would probably review the documentation to make sure this is the best way to do this...".
I would just add (based on my interview experience) that perhaps stating that you have never touched something or don't know it (in the redux/jotai question) does not really add anything to conversation other then name drop. If you don't have any knowledge to share, a simple don't know about it would suffice.
I remember watching this video when it was released and I didn't understand anything at all. Now, I solved it without watching the video and I feel really happy! 😂
Thanks! Any feedback from you is much appreciated! function getLongestNonRepeatingSubstring(str) { let currentSubstring = ""; let longestSubstring = ""; for (let char of str) { if (currentSubstring.includes(char)) { currentSubstring = ""; } currentSubstring += char; if (longestSubstring.length < currentSubstring.length) { longestSubstring = currentSubstring; } } return longestSubstring; }
Now seriously though, is this interview even junior level. I mean I figured in the first 10s that you should create an array to add chunks then sort it by length. And despite this, when I apply for a position, I dont even get an interview call, not even for an unpaid internship position. It makes me feel bad since I self-studied React 2 Yrs. My portoflio is still in building phase, but the ideas I try to execute require extensive development (Job Platform, Company Portal, ECommerce Everything) Should I copy porfolio projects and then rewrite them as my own (while still working on my own projects) , just to get to the interview ?
My first thought about the first problem is to have a way to know which characters has already been iterated to. Maybe something like a Set or a Map, array could definitely be used but that would be O(n). then whenever the current iterated character is already in the set or map, that means we have to reset the tracker.
I would assume either way the worst case would be O(n) because you still have to iterate through the whole string character by character to append to your map. The implementation here was O(n+n) or O(2n) which is still equivalent to O(n) as the worst case.
I was wondering about your question smth llike what we get if we pass the component to another component. so, can be the answer that we will get a HOC(high order component) which get and return a component. if we use TS, so we can describe it like React.NodeChild. i'm a junior, so don't judge me please. but can it be the answer?
another way function getIterateData(str, list) { let filterChar = list ?? "ABCDDDEFGHI"; let filterStr = Array.from(filterChar.split(" ")[0]); let pos = filterChar.indexOf(str) + str.length; let strVal = []; let center = Math.floor((filterChar.length - 1) / 2); let uniqueValue; if (pos
const getLongestNonRepeatingSubstring = (s) => { let result = "" for (let i = 0; i < s.length; i++) { let char = s[i]; let newString = s.substring(0, i) if (!newString.includes(char)) { result += char } } return result }
Instead of using second loop you could use sort method to sort the array from biggest to lowest(arr.sort((a,b) => a.length < b.length ? 1 : -1)) and then return the first element of the array
this my solution function getNoNRepeatedLongChar(str, list) { let filterChar = list ?? "ABCDDDEFGHI"; let pos = filterChar.indexOf(str) + str.length; let center = Math.floor((filterChar.length - 1) / 2); let uniqueValue; if (pos
really loved watching this, i kept pausing after the question to quickly think about what i would say and how I would write the function before Cody answered. My solution was super similar apart from i used **continue ** in my if block in the loop and at the end to find the longest str in the array i did: return strArr.reduce((longest, current) => { return current.length > longest.length ? current : longest; }, ' ');