This is great! Props to Eli for pushing past the nervousness and settling in, it must've been extra hard for him knowing it was going to be recorded and uploaded to YT. I would LOVE more of these! I'd also love to volunteer to do a mock interview with you (me as the interviewee), if you'd like. I might not be quite at the point I'd need to be YET but I'd still love to do it!
Very proud of him, absolutely! I think it would be fun to get more people involved for practice and a more diverse set of experiences to draw and learn from :)
Eli, if you're reading this I just wanna give you props for doing this. It might not seem like it but this is an extremely important experience to undertake in your journey. You have no idea how much you'll learn by going through this kind of pressure. Well done man, keep it up!
Thanks man! Even though Nader and I are friends, I was quite nervous and not confident for other reasons like not being prepared. You're absolutely right though I learned so much about how important it is to show a good process and to keep thinking and trying. It was especially important when Nader said at the beginning that we won't be editing anything out, even when I completely embarrassed myself by blanking on simple questions. This was completely raw footage, one take.
There is also the fact you came into this maybe knowing all these things logically, but formulating them into plain spoken English is an ENTIRELY different skillset many are not willing to master! Props for putting your best foot forward which many of us are too scared to do. @@XanEli1
@@XanEli1 Hey Eli, I'd love an update on your journey, if you don't mind. Did you finish studying and get a job? I am watching this video before my first interview tomorrow, it's been really helpful, like the rawness of it.
I love how real this is. I've had extreme imposter syndrome since the beginning of my coding journey and seeing this interview made me feel more comfortable as I learn to get better at interviews. Thanks Nader and Eli for being brave to do this live!
@@Immigrantlovesamerica Facts, they ask 3 screening questions then get to the real deal of explaining projects, coding, or at the very least explaining how to make code more efficient
Oh my gosh I did it. The second challenge. It's not elegant, no. I'm absolutely certain there's a better, cleaner way to do it. But I did it. Maybe not a big deal to most, but I'm not working as a dev yet, still learning, so for me this is huge. Screw it, I'm taking this win.
Hey Shane! Absolutely a win, haha! Even just showing you can solve and think through it is incredibly important, both for yourself and in an interview. Nice work! 😊
This is so much better than "Google SWeng mock interviews former Meta PM". It's relatable, lift you up to keep going on, it's more engaging to watch and think "I know this one! Say this Eli!", it doesn't end the video making me feel shit. Kudos to Eli!
as someone who graduated I can see say its awesome to see an interview like this, sometimes you know the answer but you havent organised your thoughts properly and its good to see that this is normal and can happen
This is massive for me, seeing an interview like this gives me confidence about going into an interview. Eli thank you for putting yourself in this position for someone like me on a similar journey, its super helpful getting insight like this. I am not naive though, I have seen many bad interviewers in my time.
Eli looked like a gamer turned coder to figure out how the games are made, it was fun to watch both of you. He totally nailed it and you helped him build his confidence which he needed at that time. Great!
Eli, I don't normally comment on these sorts of things but I feel like I just went on a journey with you. You did an INCREDIBLE job. I've been coding in JS for 3 years now, working professionally for 14 months, and I found that last problem really challenging. Really well done! What made your interview so much fun to watch was that it was EXACTLY the same process that I go through every day. The confusion, the pain and finally the clarity. Nader, you were really supportive. You did such a good job. First I've seen of this channel and I've just subscribed. Thanks a bunch guys!
Thanks for this Simon! That's super awesome to hear and I totally agree! Quite literally the "developer process" at work, haha! It's awesome to hear you're in the industry and going through the same things in your work 😊 Welcome!
i'm trying to learn to become junior JS dev, and I make a solution really quickly, not sure if the question was just suited for my mind set. but it took me like 10 minutes to write a solution for that. This is what i came up with... function test(str){ const arr = str.split("") let newStr = "" for (let index = 0; index < arr.length-1; index++) { if((index+1) % 2 === 0){ newStr += "" }else if((index+1) % 2 === 1){ newStr += "" } newStr += arr[index+1] } return newStr; } test("2");
As a 33 year old prospective dev trying to teach myself after moving to new country (lots of life changes), this was a big confidence booster. If you ever feel like doing another one with someone, I'm game. 😅
thanks for this video . A quick solution for the question - 39:34 String Coding Question 2 (Hard)- function closeDivTags(inputString) { // Use a regular expression to find all opening tags const regex = //g; // Use a counter to keep track of the number of opening tags encountered let divCount = 0; // Replace each opening tag with a closing tag const formattedString = inputString.replace(regex, () => { divCount++; if (divCount % 2 === 0) { return ""; } else { return ""; } }); return formattedString; } const inputString = "this is a here and here is a div this one and another "; const formattedString = closeDivTags(inputString); console.log(formattedString);
Proud of Eli for agreeing to upload the video. It's so raw and real that a lot of us beginners can relate to ourselves. I am still stuck with Javascript. 😭
I'm proud of him too for doing this too, it really takes a lot of courage! Don't worry about being stuck, we all get stuck, haha! The main thing is to power through and keep at it consistently 😊
It gets easier. Six months ago I loathed working with arrays. I had never even heard of a for loop. Now I can write JS as fluently as HTML & CSS. The best advice I can give is too work on personal projects with it. I took a couple of JS courses at Codecademy over the summer. In mid-September, I started working on a massive JS-intensive project of my own - a t-shirt design lab similar to that of Custom Ink. I'm about 65-70% finished and my mind is blown by what I've learned in just a few months.
@@sixstanger00 Well said, I couldn’t agree more - the projects that are big like that are where you learn pretty much everything once you have the basics down 😄
@@TechWithNader The biggest eye opener for me was seeing how the concepts are actually applied in a useful manner. Even when I was learning about arrays & for loops, I kept thinking to myself, "Why would I ever need to do this?" I can't count how many times for loops have saved my @$$ working on this current project. It was during this project where I actually saw them applied that I was like, "Ahhhhh now I see."
Oh my gosh the beginning of this interview is me anytime I get asked anything. So much information comes to mind that you dont know where to start and Eli squirming in his seat and eye rolling at himself for incomplete answers at first. Super good for me to watch as I am approaching the start of looking for a job and I want interviews so I can get comfortable. Its soooooo incredibly terrifying walking into a situation that you have no idea how it will be approached. Thank you very much for the content.
Thanks for sharing this Flier! Couldn't agree more - it is really scary to be the one in this position trying to answer rapid fire questions when you're nervous already. The best thing to do is do things like this to prep and practice so you have a bit more confidence as you go in to a "real" one, haha! It's also super fun to watch these in hindsight and do a little 🤦🏽♂️
Eli, you have my utmost respect for this. Even though you know it is technically not a real interview, you put forth your best effort and explained your process in an incredibly easy to understand way. I'm also 29 and moving into the web development side of things.
Watched this today as I wrote a fairly complex recursive script at work. Even after years in the industry I still get nervous at job interviews. It was great watching Eli slowly break through his nervousness and give it everything he's got, props to him. I'd love to see more of these in different levels with different people, I like your calm and friendly approach as an interviewer and wish you and your channel good luck. Subscribed!
Thanks! Yes - it's truly awesome to see someone slowly get in to the groove of things and break down the nervousness and gain confidence even in such a short time 😊 I would love to make more like this at various levels, that's a great idea!
"The error is right there, its right there!" -Nader. These mock interviews are crucial! I wish I would have done them! Instead I 'wasted' real interviews. You'll undoubtedly find your groove Eli. Everyone was at this point at one time or the other. Watching this gave me flashbacks and I got nervous just watching! You'll get used to it and you'll look back at this and laugh! All the best to you Eli!
Shout out to Eli for putting himself out there like this. I could feel the emotions with him as I tried to answer the questions along with him. Nader is right, you think you know something until you have to explain it by definition. Will definitely be trying some mock interviews when I am ready to understand how ready I truly am LOL. Once again, props Eli 👊
Interview nervousness is real. I applied for intern position. There was a screening where they gave us two questions online which we took on our own time before a given deadline. I could not answer any of them during the 1 hour time. Right after the session ended, about 5 minutes, I reflected that the questions weren't hard. I tried calming down, and tried to solve the first question on my own (I took screenshots of the questions). I did the first question in about 15 minutes. Then, I moved on to the second question. It took me about 20 minutes. If I had been calm and not feel the pressure, I probably would've been able to take time to understand and finish the first question in 25 minutes and 30 minutes for the second one leaving 5 minutes extra time to quickly check things over.
Thank you for sharing this! That’s a really good strategy, nice! If you have someone to practice with or even if you practice yourself a bunch it makes a huge difference in how confident and prepared you feel. As you saw it’s not only about solving the problems but so many other subtleties too 😊
Parsing text can be a hard concept to wrap your head around in the beginning. Plus there's many ways to tackle it. State machines, Regex etc so great job Eli!
I had to take time to comment that this was such a great learning experience you created here. It helped me realize I'm not as clueless as I thought I was.
Hey Champ! Thanks for the kind words! This was one of the goals of creating interviews like this as I think there's a lot of imposter syndrome where everyone feels that everyone else is always 100% at everything, haha! It's really good to hear this came across, thank you for taking the time to comment about it! 🙂
This interviewer is so wonderful. Real interviewers are barely cooperative. If you ask them questions or try to talk to them when they give you coding questions, they usually respond with maximum 3 words or respond in a condescending tone.
As someone who has recently started coding, I have massive respect for Eli for being part of a mock interview knowing it'll be on TH-cam! This video was so helpful and I actually listen to it frequently whilst I study JavaScript.
Managed to do all the coding challenges and answer all the questions successfully by myself before hearing the answer, this is giving me confidence thank you.
I wish I did more of these before my own interviews too with a friend. You learn alot! Did these tasks while watching, heres my answer for part 2: function closeSecondTag(html, tag){ let index = html.split(tag, 2).join(tag).length; return html.split("").map((s,i) => i === index ? s +="/" : s).join(""); } let fixed = closeSecondTag("help me", "") console.log(fixed) If your new to JavaScript this could look confusing but if you split it up and break it down, to learn whats happening. Use MDN docs and learn what some of the JS functions do. Good Luck ELI!
Hey Kay! Totally agree - I think everyone should get a chance to do a few of these before they do the “real” ones haha! Interesting div solution! Would this work for every div or just the first one? 🤔
The way I deal with errors is basically a technical analysis and a historical analysis. On t.a. it's basically checking the error log, check my inputs, my vars, check my camel cases, etc. If not, the h.a. is basically a series of questions that prevent me from being staggered on trying to fix the problem with that only solution, like; "Was it working before?" "What has changed since then?" "This function depends on which results?" etc...
I stumbled across that video and as a learner that's so great! And I was surprised that after 2 months in my learning journey I actually have been able to answer to all questions + make the string coding question n°1! I subscribed, keep going!
Hey Orhan! Thanks for sharing this! It really is a great feeling to know you're making progress as the imposter syndrome really hits people hard! Honestly, the confidence building and small bits of joy like this go a long way especially if you keep it up! Keep going too! 😊
I am only starting to code, this interview made me feel better about the whole thing, i could answer most of the questions. I am learning bits of js and python at the same time to see what fits for me and how other programmes compliment or dont the coding language. I am 48 and learning new things i never knew existed, i am starting computer science course in september and i want to know the basics of coding before i start the course. Its extremely hard learning with i life issues which try to curve ball me all of the time. Thanks for the video
"What is an array" and literally I tried answering and thought "a data structure to contain information in an indexed..." and then did what he did LMAO. Those super basic questions drive me crazy like "What is an object?" "Well, its a data structure for containing key value pairs..." dont know what else to say really except memorizing a canned response.
Haha, yes these questions really force you to stop and think! 😂 The responses from these questions give the interviewer a good set of signals to work with on where the candidate is in their understanding of things. I think it’s always important to focus on fundamentals and really ask yourself why you need something or what it is when you use and learn it. This type of thing carries with you as you learn more and more 😊
I have an interview, for a job that requires I know basic JS. I haven’t done a technical interview in over 14 years. As someone who has taken a few JS courses and played around with it, this will be my first coding interview. This was definitely helpful.
The more you prep and practice and build confidence, the easier it gets 😊 It really helps to have personal projects that are large enough to talk to as well
This is a good example of when hiring a junior developer for half the cost can actually cost you more in the long run. The 1st question took 20 mins of coding/debugging. When you reach a truly advanced level, the question can be answered in 20 seconds. const camelLetters = (string) => { return [...string].map((v,i) => i%2 ? v.toLowerCase() : v.toUpperCase()).join(''); } So a professional dev might cost 10x more but it'll take them 60x less to do a better job. Good video!
Your advanced coder might be faster in the short term, but his code would slow down everyone else, because everyone else usually is a moron unable to decipher your advanced coders code.
Hey Brandon! Glad you found it useful - it really does help prepare so much for these styles of interviews both on the hard and soft skill sides of things 😃
It was thrilling to watch through this entire mock interview! Huge kudos to Eli for racking up to courage to do and his ability to solve problems is very respectable. I am on the same journey as he is just learning as much as I can to become a full-stack developer and I believe an excercise like this would do me really well. So I hope I could a chance to be featured on your channel.
Hey John! Thanks for sharing this! These are absolutely essential to practicing for real interviews and not enough people do them. You can even practice in a mirror haha! But I’d love to do these with others from the community so we can see all sorts of levels of understanding. I’ll definitely keep you in mind for some future ones like this. Keep at it and you’ll be in a dev role before you know it! 🥳
Brother Nader, we need more interviews like these. Make it more real and professional. Ask and search around how recruiters are interviewing nowadays and then plz upload more videos about it, taking interviews from new guys for entry level jobs. Also brother Nader, I,m also trying to break into the industry as an entry level front end developer, so if you want to interview me next, I'm down to it. It will be a really good experience.☺️
Thanks - that's the plan! I'd like to do these at a few different "levels". I'll keep you in mind for the upcoming ones 😊 Keep at it and you'll get in to the field before you know it! 🚀
Thanks guy and super props to Eli for doing this. I’d be too nervous to even think in this scenario and it was very refreshing to watch Eli’s thinking process in solving the challenges. Loved it!
It's super important to practice ahead of time for exactly the reason you mentioned, haha! The more practice you get, the better and more confident you get at it, just like programming 😉
Without using regex and with the same concept as in question 1: let i = 0; let fixedHTML = "abcdef".replaceAll('', () => ++i % 2 == 1 ? '' : ''); Obviously that's not taking into account of mismatched/invalid HTML and element attributes, but that's for the discussion. I like the video though. Helps people being prepared to talk about programming in an interview 🙂
As a 33 year old prospective dev trying to teach myself after moving to new country (lots of life changes), this was a big confidence booster. If you ever feel like doing another one with someone, I'm game.
This was an amazing video to sit down and watch being a beginner learner into coding myself. Watching this whole video gave me a lot tips on how to tackle problems and how to go through it step by step to get a better understanding of the question given. By questioning/answering edge cases and giving examples of what you want the program to actually run/spit out. I, myself, never really went through this process and just went straight into the coding aspect and try work my way through that which made it really hard on me, decreasing my confidence. I give huge props to Eli because he came into this mock interview not prepared at all. You can tell Eli was nervous by the way he laughs and how he moving around a lot and wasn't really still at first. But after seeing you giving him the guidance and patiently talking to him through the process, Eli became more a lot confident and was able to work solving the code faster by understanding it. The first coding problem was was done beautifully and I was able to understand it every step of the way. But the second coding question became a lot hard to follow due to the second if statement and understanding where to put each variable within the various brackets. My brain would always explode when I see more than 20 lines of code and would constantly have to run myself through the code repeatedly to understand it again. Also, I really enjoyed on how Nader kept a calm/cheerful mood when talking to Eli even after seeing his nervousness when working through the problems by giving him reassurance on how he can approach things whenever Eli was stuck. I feel like I, myself, would have a better understanding If I had someone I can talk to and ask a lot of questions if I ever get stuck on how to approach things or ask how certain code works.
Really great video had me on the edge of my seat when he was trying to figure out the bug in Q1. Was like it's right thereeeeee. Q2. Was interesting to think of and solve, I've been in the industry for 3+ yrs and could appreciate seeing that issue get solved and thinking about how I'd do it. So I pulled out a browser and tried. How I solved it: Native methods used: .split .forEach .startsWith .push .join .trim % Steps: 1. Kept tract of count 2. Created an empty fixedHtml array 3. Ran .split('
Hey Emmanuel! Haha, it's interesting as an interviewer because you want to yell that out but have to be patient and realize that you're the chill one while they are freaking out inside haha! Nice solution - any reason you decided to split on just "
@@TechWithNader As a mater of fact yes, note that split removes what you split on so splitting on gave me [' ', ' hello this is a ', ' tag'] from " hello this is a tag". Thus meaning I had an inconsistent anchor values that I would have needed to handle.
Great video and thank you for recording this. I'm still very new so correct me if I'm wrong. However, I picked up that in q2.js, `Here is a tag` would not be an edge case. If you were writing text in HTML about s', you will be using entity codes instead of the symbols. Therefore, your code will omit it!!
Good point! There definitely is a difference between the semantic and correctness of the HTML when it comes to parsing compared to what we did here which is more basic 🤓
im doing now 10 months f full stack developer and now we are on JavaScript, I feel like a complete idiot, but that is alright. And this video even I couldnt follow it was nice to see the thinking process on how take you problems on. I'm very gratefull for this. Greetings from Belgium
Thank you for the raw unedited interview version. We need more such videos. I am on the same boat as well (not good with technical interviews as of today) and looking to improve.
I had a lot of fun following along and completing the coding questions. My favorite answer was to the last question: const closeSecondDivs = (string) => { const replacer = (match, openDiv, stuff, closeDiv) => [openDiv, stuff, closeDiv.replace("
Nice solution! Awesome work with the replacer function as well 🤓 I'd also encourage you to try to solve this without regex, as lots of other languages don't have it so easily accessible 😉
Awsome! I came to this solution. Also used some regex, but in a another way. function closeDivs (ipt) { let splited = ipt.split(/()/);//using lookarounds to keep seperator elemenmts in array let first = true; let output = ""; console.log(splited.length) for (let i = 0; i < splited.length; i++){ if (splited[i] === "") { if (first) { output += "" first = false }else{ output += "" first = true } } else { output += splited[i] } } return output; }
This was very informative to watch as a Senior Info Systems student. While watching I paused at the problems and tried to figure them out myself without using Google and did pretty well. Of course it is harder for Eli as he isn't directly writing the code himself which makes it hard on top of the pressure of having someone watch you possibly make errors and evaluate you. Great video overall!
Thanks Juan! I'm glad you found it helpful, and I hope the preparation helps for your own future interviews 😊 It definitely makes it a lot harder when he has to communicate his ideas through me instead of just coding it himself - but that was the intention to test technical communication as well 😃
I can so appreciate this because its happened to me where I am in an interview and was asked to revers a list using for loop in JS and its like my brain shuton down right
Hey Shane! Absolutely this 💯 haha! It’s totally different being in the “hot seat” - literally your brain suddenly on fire while people stare at you haha! 😄
This is good. I like the honesty. I'd bet money it'll help Eli in the long run. I'm still at the entry/jr level, it's funny how the simplest question feels like a mountain when you're in that hot seat...
Hey Dune! Totally agree - it's so different when you're the one doing it, haha! Awesome to hear you're at a similar level and appreciating these since it's good to know you're not the only one imposter syndrome style 😄
Props for the guy doing it. The only piece of advice I would give is to be patient with yourself. If you don't know something...it's truly ok to say hey I don't know that specifically...but here's what I do know...and how I can use that to figure it out. Where a lot of people fail in interviews...is they try to sell skills they don't have and comes off as a salesperson rather than a subject matter student.
I have so much respect for eli. I would be shaking in my boots everytime our instructor would be looking for someone to do a whiteboard infront of class.
Hey Osborn! Totally agree - it is super brave of him to have done this and have everyone watching 😃 Whiteboard in front of a class also sounds pretty intimidating, especially if you're not confident in what you're white-boarding in the first place, haha! But the practice, even if you goof (and we all do) is totally worth it 😊
I'm 34 now and started changing my life in 2017 because I was and am depressed. I learnt html, css and baaasic js (I never got the hang on js, couldn't wrap my head arround it). Got jobs in two different wordpress agencies that promised me I'd be a good developer if I started there because they could teach me js etc.
But in the end, everything was done with templates or builders. I had more technical knowledge than the wordpress seniors I worked with, got burnt out because I had to create 1-2 sites a month myself with content etc. I was making just above minimum wage, so I went back to learn JS, and although I could kind of answer all the questions and understand the concepts and patterns, I can't really code.... I wonder when I'll finally be ready.
00:08 Learning programming has been frustrating due to personal traits but still excited about big projects. 05:06 An array in JavaScript is used to organize data, while an object is used when we want to associate named keys with values. 16:35 Write a function to capitalize every other letter in a string 21:38 Loop through the string and capitalize every other character. 32:21 There was a bug in the code that caused an extra letter to be added in the output. 37:50 The purpose of the function is to correct the closing tags for div elements in an HTML string. 48:02 There is a need to find a specific sequence of characters in a given text. 53:21 To solve the problem, use an array and loop through the characters 1:04:24 Keep track of the number of div tags found. 1:10:08 Build the entire string by adding characters one at a time. 1:20:25 Fixing bugs and iterating over strings 1:26:03 Successfully completed a complex coding interview question 1:34:54 Applying for positions will benefit from watching this process Crafted by Merlin AI.
It is very instructive to find this type of content. I took this interview as if I were the interviewee. This is my solution to the second question. function fixDivTags(s){ let f = true; return s.replace(//g,()=>{ f = !f; return f?'':'' }) } Thanks for your good work.
@@rafaelperezgonzalez696 Nice work! 🥳 In an interview it’s usually best to do it this way since most languages don’t have regex and so using it is kind of like “cheating” haha. It’s also hard to explain time and space complexity when using it if asked. Well done 🚀
I'm looking for a job in this domain as well and I think I never was more into a video. I enjoyed the entirety, even paused it to try to solve it myself. I was concentrated for the full one hour and a half. Great video. Props to Eli.
Thanks! Definitely props to Eli - very courageous to allow us to learn from him and have it posted publicly 🥳 I'm glad you found it helpful! Watching these and practicing along is a great way to prep as you do your own interviews 😊
This video is true, I have two years experiece about fronted-developer.I think i can't answer some questions, but I can create any projects.If i don't konw about knowledge, I will search use Google and chatgpt
Are entry-level interviews actually this easy?? Or, like were you just being polite? I know being in the hot seat is way different, but overall the questions were pretty straightforward. (The 2nd question you could of dove into really deeply though) Cudos for having the nerve to do this live, and not script it too much. You can tell the person doing the interview is completely raw, and un-scripted.
Extremely fascinating and actually enjoyable as it's such a raw interview. I'm exactly the same with being asked questions on the spot my brain just totally freeze's 😂After losing all my tools and gear in a fire, I have also decided to take the leap into the programming world and watching Eli's experience definitely has given a boost in confidence and assurance.
This made me appreciate what I already know about software. When you've been doing it for a long time I think you take it for granted a bit. This was the solution to the 1st string problem that popped into my head almost instantly, as I'm sure it did for most other devs too. const camelize = (text) => text.split("").map((letter, i) =>(i % 2 === 0 ? letter.upperCase() : letter)).join("")
Hey Wener, nice solution! It's so true that it's hard to put yourself back in the shoes of where you were when you first started! We definitely have a "curse of knowledge" and take many things for granted and assume too much, haha! 🤓
Whoa, props to Eli for for willing to expose himself in a situation like this. I think he actually kept it together pretty well. I'd instantly lose 90% of my IQ the moment I was asked the first question XD
I don't know if it's good or bad, but I paused the video at 1:03 and decided to try solving the challenge myself before seeing the rest of the video. Just a heads up, I'm commenting before I see the rest of the video. I'm a total beginner, and I had one advantage: I ran some tests to check things, like console.log(string[i]), but this is the solution I came up with. Please don't judge me; I'm a beginner. const closeSecindDivs = (string) => { let resultString = ""; let divCounter = 1 for (let i = 0; i < string.length; i++) {
let chunk = string.substring(i, i + 5); if (chunk === "") { if (divCounter === 2) { resultString += ""; divCounter = 1; i += 4 }else{ resultString += chunk; divCounter += 1; i += 4 }; }else { resultString += string[i]; };
I just love this🔥. I was also going through the frustration that Eli's was going through. But its hard when u r in front of someone watching u solving the problem. ❤
Thanks Abdullah! Exactly! It’s really a different experience being in the “hot seat” haha! He did amazing especially given he know all of us would be watching him again and again after 😂
Man this was a great interview!!! I’ve been looking for entry level JavaScript interview and yours by far is the best one ! It’s so relatable! Dude I would love for you to interview me as well ! I’m in a coding bootcamp right now and I be feeling exactly like Eli working through problems. Ayee keep it up Nadar !
Thanks Sharvez! Would love to start doing more of these with others in the community 😊 Awesome to hear you’re in a boot camp studying this - don’t worry it gets easier the more you practice! Keep at it! 🥳 If you’re interested, we have a Discord server up to talk about these things too: discord.gg/Qkc62kpsKr
I was always afraid that I get interviewed and get asked a bunch of leet code problems in interviews, but I guess in an entry level position basics are covered and a little bit of the programming language knowledge or proficiency test? By watching this I'm much more hopeful now! Oh, I'm a 3rd Year BS Computer Science student mainly focused in Frontend Engineering. Wish me luck guys!
Pressure makes diamonds - Don't be scared to fail - at everything! Job interviews are both way! I always hated these technical interview that do not show off real talent. I started loving just being me during interviews and take as many as I could for places I thought I wanted to work. Places that valued business understanding over technical prowess was always a better fit for me as I can learn anything, yet when trying to get a new gig in a new language or platform, the gate keepers are sometime hard to impress. Another point was the interview being harder than the job because someone thought - let's put all that we want in a job description and see who shows up. Just don't be afraid to f'up and become better. I remember when a coding interview went south because me and their lead tech started to disagree and I was not backing down. 3 months later I was offered his job ;-) be you and get better at being you, warts and all!
The hard question is a really good reason to elarn regex because: function fixMissingClosingTags(html) { const regex = /(]*)()/g; const correctedHtml = html.replace(regex, '$1>$2'); return correctedHtml; } But regex is hard to learn but once learn you can solve stuff like this quickly and with very few lines of code.
I took a stab at the hard string challenge before watching the video and came up with this: const fixDiv = function(string) { let newString = ""; let count = 0; for (let i = 0; i < string.length; i++) { if (string[i] === "d" && string[i-1] === "
I’m currently learning how to code as l want to switch careers and seeing this type of content is great. It’s amazing to see the thought process of how you go through the problems trying to solve them. Please try and make this type of content in the future as I would love to see more interviews. I think they provide a lot of insights and are a great learning opportunity . Thank you. Subbed 👍
Hey Brian! Thank you very much for the kind words! I'm glad everyone is finding it so useful - this is the exact intention of these! I can't wait to make more, maybe even feature some aspiring developers from the youtube js community 😊
That would be amazing . I also liked the fact that you were super patient and helpful throughout the interview . I wish all the interviewers were like that . Anyway, amazing work, keep it up sir✌️
@@brians4265 Thanks Brian! 😊 You’re definitely right about interviewers haha, everyone is different in their approach and it really depends who is interviewing. It’s important to also realize that it’s just as much about you interviewing them as them interviewing you 😄
Wow, I was nervous, and it wasn't me being interviewed! This video fits me like a glove. Thank you guys for showing us pure raw footage of this process.
Hey Marcello! Haha, totally! It’s just human nature to feel and everyone does especially when starting out. I hope to do more of these and go deeper in to some of the strategies we can use to ease such feelings and excel at them 😊
here's the solution i came up with for the second problem: function closeDivs(html) { // start by finding all the locations of tag in the string const divIndices = []; let index = -1; do { index = html.indexOf('', index+1); if(index !== -1) { divIndices.push(index); } } while(index !== -1); // now we can interate over all our indicies of ,and insert '/' for every second div let arr = Array.from(html); let indexOffset = 0; // splice will modify array, every time we do this we need to insert the next one space further for(let i=0; i
19:20 function capitalizeEveryOther(str) { // Initialize an empty result string let result = ''; // Iterate through the string, capitalizing every other letter for (let i = 0; i < str.length; i++) { if (i % 2 === 0) { result += str[i].toUpperCase(); } else { result += str[i]; } } // Return the resulting string return result; } //To use this function, you can call it with a string argument like this: let capitalizedString = capitalizeEveryOther('hello world'); console.log(capitalizedString); // Output: "HeLlO WoRlD" This function works by iterating through the input string and appending each character to the result string, capitalizing every other character as it goes. It uses the modulo operator (%) to check if the current index is even or odd, and the toUpperCase method to convert the character to uppercase.
When I started watching an hour ago I subscribed and I was the 994 subscriber. Now I haven't even finished this video and you have aprox 1010 subscribers. Congrats! :)
the convo at 29:50 makes me think that "HELLO" should return "HELLO" if the objective was just to capitalize every other character (and otherwise do nothing), but this seems to have not been the case, of course this is irrelevant, thanks for sharing this (and props Eli!)
const divFunc = (str: string): string => { let count = 0; return str.split('>').map(x => { const len = x.length; const mid = len - 4; // Look for a div tag at the end of string 'x' if (x.slice(mid,len) === '
Eli - great to be you. You demonstrate an 'interested oriented' mindset; dopamine driven, with limited patience. Great for dev - when focused/hyperfocused. Suggest stimulant evaluation - though likely you've tried before
We're edge cases that have been marginalized in the educational system and 'society'. "Hey Google, give me a list of historical and current persons that demonstrat(ed) adhd." 'tis quite a list
This is an example of someone who did not re-read his notes, or doesn't have notes to begin with, you should always study writing concepts in your own words and study that hard, because its information your brain created, so it's easier for you to recall, also, you need more confidence here, you should know what your tools are and what they are for, imagine if you asked a baker about how ovens work and he doesn't even know that they store heat. Short concise answers will give you the job, if you don't get it on the first try... nobody does, just study, know your shit and go on confident that you know your shit, and if you don't study harder and try again. BTW, I'm a software developer who started his career at 35 and started school at 31... and if you ask me what an array is, I would simply say, A mechanism to temporarily store sequential indexed repeatable objects.
This video is really the most useful and relevant out there, can you please make a series of such videos for beginner interview series in JavaScript, it will be really helpful for the ones like me who are trying to switch to a tech career.
Hey Abhishek! Thanks for saying that 😊 I plan to make more content around the career path and the interview and problem solving process alongside the course series. It’s amazing to see how needed this is for us in the community!
The task seemed unnecessarily complex, with PHP one could have have split the string into and array of strings by and then recombine it alternating and . I would assume Javascript has similar functions available?
Hey Ray! Yup, you're absolutely right, haha. Technically you can do this functionally even in JS with one statement with thing like split/map/reduce etc. Since this is for an entry-level position, it really will be all over the map with the kinds of answers as different people think differently. It's not necessarily wrong the way Eli did it in this video, but definitely less concise. A counter to that though, is that with something like split, you are using a little bit more memory/space complexity. But again, this wasn't a condition I was testing or asking about for this question either haha 😊
i feel like he would be like me if not in that seat and seeing that the else statement is obviously missing. When you're in front of even just one person watching your every logical step of the thought porcess adds enough pressure to make you forget and loose focus lol. Good video, it helps!
At no point when your friend asked you for help with debugging did you ask him what is it he was trying to do and what they are attempting with the code (the approach he used). You may fix the error that JS t is throwing but that working syntax may not be what the problem requires. When you help someone (in any field) try to understand where they are at, and where they want to get to. That should really be the first step. I am only saying this because I know 100% you know this :D You have a good nature about you and you would generally do this naturally I think! In a world of hard logic, don't abandon your humanity
You’re totally right! I like the way you think and how you noticed this gap in how we went about the debugging. Sometimes we get so caught up in the problem we forget to zoom out, haha! I can tell you must have a lot of experience doing this from such a comment 😊 Your last couple sentences gave me a good chuckle, haha! 😂 Love it!
Thanks for making this point. I don't have this type of intuition yet as I've never pair programmed before where someone was coming to me with a bug. This makes a lot of sense
Awesome interview! :) Im currently in a bootcamp and I tried to answer while watching. I came up with this answer for the second one: let hotdog = 0; const result = string.replace(//gi, match => ++hotdog % 2 === 0 ? '' : match;
Hey Lauris! Yup, you could totally use regex, however I'd encourage you to do these types of questions without it to demonstrate your "vanilla" problem solving abilities. Many languages don't have regex built-in like JS, and it can get hard to explain things like time/space complexity in interviews when you use regex 😊
More of these are on the roadmap, haha! Be careful what you wish for, you might be next to embarrass yourself in front of the world like our friend, Eli 😉
Eli, you did great in a newb but I did enjoy watching the thought process made me think about things a little differently. I enjoyed the case studies as well.
Tried a different approach for Question 2. Hope it helps. 😊 function FixHTMLString(inputString) { const splitString = inputString.split(""); let fixedString = splitString[0]; for (let i = 1; i < splitString.length; i++) { if (i % 2 === 1) fixedString += "" + splitString[i]; else fixedString += "" + splitString[i]; } return fixedString; }
The async function question is very difficult to answer based on how JS works under the hood. That's a very senior JS engineer question to ask. It's very different from the conventional understanding of parallel computing. So in a very strange way its not truly asynchronous.
This is great! Props to Eli for pushing past the nervousness and settling in, it must've been extra hard for him knowing it was going to be recorded and uploaded to YT. I would LOVE more of these! I'd also love to volunteer to do a mock interview with you (me as the interviewee), if you'd like. I might not be quite at the point I'd need to be YET but I'd still love to do it!
I'm already nervous enough as is :D
Very proud of him, absolutely! I think it would be fun to get more people involved for practice and a more diverse set of experiences to draw and learn from :)
I’m a recent bootcamp grad and would love to go through one too. Would be good click bait too, LOL!
@@jordonaren I might follow up on that offer sometime 😉
@@TechWithNader I would love to go through one too!!!!
Eli, if you're reading this I just wanna give you props for doing this. It might not seem like it but this is an extremely important experience to undertake in your journey. You have no idea how much you'll learn by going through this kind of pressure. Well done man, keep it up!
Thanks man! Even though Nader and I are friends, I was quite nervous and not confident for other reasons like not being prepared. You're absolutely right though I learned so much about how important it is to show a good process and to keep thinking and trying. It was especially important when Nader said at the beginning that we won't be editing anything out, even when I completely embarrassed myself by blanking on simple questions. This was completely raw footage, one take.
💯
There is also the fact you came into this maybe knowing all these things logically, but formulating them into plain spoken English is an ENTIRELY different skillset many are not willing to master! Props for putting your best foot forward which many of us are too scared to do. @@XanEli1
@@XanEli1 Hey Eli, I'd love an update on your journey, if you don't mind. Did you finish studying and get a job? I am watching this video before my first interview tomorrow, it's been really helpful, like the rawness of it.
I love how real this is. I've had extreme imposter syndrome since the beginning of my coding journey and seeing this interview made me feel more comfortable as I learn to get better at interviews. Thanks Nader and Eli for being brave to do this live!
wanna learn together with me ?
This isnt real at all. No one is interviewing for one hour and asking menial questions whne you have 12 candidates to go through.
@@Immigrantlovesamerica Facts, they ask 3 screening questions then get to the real deal of explaining projects, coding, or at the very least explaining how to make code more efficient
U got the job ?
@@a_guy Yes, I currently work in a tech job :)
Oh my gosh I did it. The second challenge. It's not elegant, no. I'm absolutely certain there's a better, cleaner way to do it. But I did it. Maybe not a big deal to most, but I'm not working as a dev yet, still learning, so for me this is huge. Screw it, I'm taking this win.
Happy to hear that :D
Hey Shane! Absolutely a win, haha! Even just showing you can solve and think through it is incredibly important, both for yourself and in an interview. Nice work! 😊
I like your confidence I'm also learning web dev wanna connect
Pfft this is absolutely a big deal man , good on you
Yass queen
This is so much better than "Google SWeng mock interviews former Meta PM". It's relatable, lift you up to keep going on, it's more engaging to watch and think "I know this one! Say this Eli!", it doesn't end the video making me feel shit. Kudos to Eli!
as someone who graduated I can see say its awesome to see an interview like this, sometimes you know the answer but you havent organised your thoughts properly and its good to see that this is normal and can happen
Hey Thato! Exactly - it's super grounding to see others go through it so you have a reference 😊
This is massive for me, seeing an interview like this gives me confidence about going into an interview. Eli thank you for putting yourself in this position for someone like me on a similar journey, its super helpful getting insight like this. I am not naive though, I have seen many bad interviewers in my time.
Glad it was helpful! You’re right - it is a whole spectrum of interviewer types out there 😂
man nader seems like such a wholesome guy to work with, props to the guy being interviewd working through all the stress
Eli looked like a gamer turned coder to figure out how the games are made, it was fun to watch both of you. He totally nailed it and you helped him build his confidence which he needed at that time. Great!
Glad you enjoyed it, Kin! 😊
We have to understand these JavaScript games brother.
Eli, I don't normally comment on these sorts of things but I feel like I just went on a journey with you. You did an INCREDIBLE job. I've been coding in JS for 3 years now, working professionally for 14 months, and I found that last problem really challenging. Really well done! What made your interview so much fun to watch was that it was EXACTLY the same process that I go through every day. The confusion, the pain and finally the clarity. Nader, you were really supportive. You did such a good job. First I've seen of this channel and I've just subscribed. Thanks a bunch guys!
Thanks brother!
Thanks for this Simon! That's super awesome to hear and I totally agree! Quite literally the "developer process" at work, haha! It's awesome to hear you're in the industry and going through the same things in your work 😊 Welcome!
i'm trying to learn to become junior JS dev, and I make a solution really quickly, not sure if the question was just suited for my mind set.
but it took me like 10 minutes to write a solution for that.
This is what i came up with...
function test(str){
const arr = str.split("")
let newStr = ""
for (let index = 0; index < arr.length-1; index++) {
if((index+1) % 2 === 0){
newStr += ""
}else if((index+1) % 2 === 1){
newStr += ""
}
newStr += arr[index+1]
}
return newStr;
}
test("2");
the video is still going and i just realized they came up to similar solution lol.
As a 33 year old prospective dev trying to teach myself after moving to new country (lots of life changes), this was a big confidence booster. If you ever feel like doing another one with someone, I'm game. 😅
Awesome to hear! I might follow up on your offer sometime 😊
thanks for this video . A quick solution for the question - 39:34 String Coding Question 2 (Hard)-
function closeDivTags(inputString) {
// Use a regular expression to find all opening tags
const regex = //g;
// Use a counter to keep track of the number of opening tags encountered
let divCount = 0;
// Replace each opening tag with a closing tag
const formattedString = inputString.replace(regex, () => {
divCount++;
if (divCount % 2 === 0) {
return "";
} else {
return "";
}
});
return formattedString;
}
const inputString =
"this is a here and here is a div this one and another ";
const formattedString = closeDivTags(inputString);
console.log(formattedString);
Proud of Eli for agreeing to upload the video. It's so raw and real that a lot of us beginners can relate to ourselves. I am still stuck with Javascript. 😭
I'm proud of him too for doing this too, it really takes a lot of courage! Don't worry about being stuck, we all get stuck, haha! The main thing is to power through and keep at it consistently 😊
It gets easier. Six months ago I loathed working with arrays. I had never even heard of a for loop. Now I can write JS as fluently as HTML & CSS. The best advice I can give is too work on personal projects with it.
I took a couple of JS courses at Codecademy over the summer. In mid-September, I started working on a massive JS-intensive project of my own - a t-shirt design lab similar to that of Custom Ink. I'm about 65-70% finished and my mind is blown by what I've learned in just a few months.
@@sixstanger00 Well said, I couldn’t agree more - the projects that are big like that are where you learn pretty much everything once you have the basics down 😄
@@TechWithNader
The biggest eye opener for me was seeing how the concepts are actually applied in a useful manner.
Even when I was learning about arrays & for loops, I kept thinking to myself, "Why would I ever need to do this?"
I can't count how many times for loops have saved my @$$ working on this current project. It was during this project where I actually saw them applied that I was like, "Ahhhhh now I see."
@@sixstanger00 💯
Oh my gosh the beginning of this interview is me anytime I get asked anything. So much information comes to mind that you dont know where to start and Eli squirming in his seat and eye rolling at himself for incomplete answers at first. Super good for me to watch as I am approaching the start of looking for a job and I want interviews so I can get comfortable. Its soooooo incredibly terrifying walking into a situation that you have no idea how it will be approached. Thank you very much for the content.
Thanks for sharing this Flier! Couldn't agree more - it is really scary to be the one in this position trying to answer rapid fire questions when you're nervous already. The best thing to do is do things like this to prep and practice so you have a bit more confidence as you go in to a "real" one, haha! It's also super fun to watch these in hindsight and do a little 🤦🏽♂️
Eli, you have my utmost respect for this. Even though you know it is technically not a real interview, you put forth your best effort and explained your process in an incredibly easy to understand way. I'm also 29 and moving into the web development side of things.
Watched this today as I wrote a fairly complex recursive script at work. Even after years in the industry I still get nervous at job interviews. It was great watching Eli slowly break through his nervousness and give it everything he's got, props to him. I'd love to see more of these in different levels with different people, I like your calm and friendly approach as an interviewer and wish you and your channel good luck. Subscribed!
Thanks! Yes - it's truly awesome to see someone slowly get in to the groove of things and break down the nervousness and gain confidence even in such a short time 😊 I would love to make more like this at various levels, that's a great idea!
"The error is right there, its right there!" -Nader. These mock interviews are crucial! I wish I would have done them! Instead I 'wasted' real interviews. You'll undoubtedly find your groove Eli. Everyone was at this point at one time or the other. Watching this gave me flashbacks and I got nervous just watching! You'll get used to it and you'll look back at this and laugh! All the best to you Eli!
Exactly! Haha! I can’t wait to do more of these 😊
Shout out to Eli for putting himself out there like this. I could feel the emotions with him as I tried to answer the questions along with him. Nader is right, you think you know something until you have to explain it by definition. Will definitely be trying some mock interviews when I am ready to understand how ready I truly am LOL. Once again, props Eli 👊
Glad you enjoyed the interview! Definitely helps so much to practice like this before your own interviews - night and day difference 😊
Interview nervousness is real. I applied for intern position. There was a screening where they gave us two questions online which we took on our own time before a given deadline. I could not answer any of them during the 1 hour time. Right after the session ended, about 5 minutes, I reflected that the questions weren't hard. I tried calming down, and tried to solve the first question on my own (I took screenshots of the questions). I did the first question in about 15 minutes. Then, I moved on to the second question. It took me about 20 minutes.
If I had been calm and not feel the pressure, I probably would've been able to take time to understand and finish the first question in 25 minutes and 30 minutes for the second one leaving 5 minutes extra time to quickly check things over.
Thank you for sharing this! That’s a really good strategy, nice! If you have someone to practice with or even if you practice yourself a bunch it makes a huge difference in how confident and prepared you feel. As you saw it’s not only about solving the problems but so many other subtleties too 😊
Parsing text can be a hard concept to wrap your head around in the beginning. Plus there's many ways to tackle it. State machines, Regex etc so great job Eli!
💯
I had to take time to comment that this was such a great learning experience you created here. It helped me realize I'm not as clueless as I thought I was.
Hey Champ! Thanks for the kind words! This was one of the goals of creating interviews like this as I think there's a lot of imposter syndrome where everyone feels that everyone else is always 100% at everything, haha! It's really good to hear this came across, thank you for taking the time to comment about it! 🙂
@@TechWithNader If you could create more content like this, that would be awesome!
@@UziTekk Will do! 😃
This interviewer is so wonderful. Real interviewers are barely cooperative. If you ask them questions or try to talk to them when they give you coding questions, they usually respond with maximum 3 words or respond in a condescending tone.
As someone who has recently started coding, I have massive respect for Eli for being part of a mock interview knowing it'll be on TH-cam! This video was so helpful and I actually listen to it frequently whilst I study JavaScript.
Managed to do all the coding challenges and answer all the questions successfully by myself before hearing the answer, this is giving me confidence thank you.
Hey Ryan! Nice work and you're very welcome! That was the whole intention of doing this style of video, so I'm glad it's having that effect 😊
I wish I did more of these before my own interviews too with a friend. You learn alot!
Did these tasks while watching, heres my answer for part 2:
function closeSecondTag(html, tag){
let index = html.split(tag, 2).join(tag).length;
return html.split("").map((s,i) => i === index ? s +="/" : s).join("");
}
let fixed = closeSecondTag("help me", "")
console.log(fixed)
If your new to JavaScript this could look confusing but if you split it up and break it down, to learn whats happening. Use MDN docs and learn what some of the JS functions do.
Good Luck ELI!
Hey Kay! Totally agree - I think everyone should get a chance to do a few of these before they do the “real” ones haha!
Interesting div solution! Would this work for every div or just the first one? 🤔
@@TechWithNader first one but you could loop and replace 2 with a mod 2
@@Kay8B Ah yes, gotcha nice! 🤓 That’s quite the compact code too, haha!
the interviewer and interviewee both were amazing,
Thanks! 😊
The way I deal with errors is basically a technical analysis and a historical analysis. On t.a. it's basically checking the error log, check my inputs, my vars, check my camel cases, etc. If not, the h.a. is basically a series of questions that prevent me from being staggered on trying to fix the problem with that only solution, like; "Was it working before?" "What has changed since then?" "This function depends on which results?" etc...
I stumbled across that video and as a learner that's so great! And I was surprised that after 2 months in my learning journey I actually have been able to answer to all questions + make the string coding question n°1! I subscribed, keep going!
Hey Orhan! Thanks for sharing this! It really is a great feeling to know you're making progress as the imposter syndrome really hits people hard! Honestly, the confidence building and small bits of joy like this go a long way especially if you keep it up! Keep going too! 😊
it was a lot of fun watching this. Especially fun to pause the video, work out the problem and then come back and see someone else's solution
Hey Frank, thanks! Hope you were able to get a couple of the solutions on your own as it's excellent practice 🤓
Man I've been there. Having been coding for a long time, I know how nervous I have felt during a technical interview. Good for you.
Haha, exactly! Huge props to Eli for doing this and letting us all watch - not an easy task by any means 😊
Ok. Finally an entry level JS interview that asks ENTRY LEVEL QUESTIONS!
I am only starting to code, this interview made me feel better about the whole thing, i could answer most of the questions. I am learning bits of js and python at the same time to see what fits for me and how other programmes compliment or dont the coding language. I am 48 and learning new things i never knew existed, i am starting computer science course in september and i want to know the basics of coding before i start the course. Its extremely hard learning with i life issues which try to curve ball me all of the time. Thanks for the video
"What is an array" and literally I tried answering and thought "a data structure to contain information in an indexed..." and then did what he did LMAO. Those super basic questions drive me crazy like "What is an object?" "Well, its a data structure for containing key value pairs..." dont know what else to say really except memorizing a canned response.
Haha, yes these questions really force you to stop and think! 😂 The responses from these questions give the interviewer a good set of signals to work with on where the candidate is in their understanding of things. I think it’s always important to focus on fundamentals and really ask yourself why you need something or what it is when you use and learn it. This type of thing carries with you as you learn more and more 😊
I have an interview, for a job that requires I know basic JS. I haven’t done a technical interview in over 14 years. As someone who has taken a few JS courses and played around with it, this will be my first coding interview. This was definitely helpful.
The more you prep and practice and build confidence, the easier it gets 😊 It really helps to have personal projects that are large enough to talk to as well
This is a good example of when hiring a junior developer for half the cost can actually cost you more in the long run. The 1st question took 20 mins of coding/debugging. When you reach a truly advanced level, the question can be answered in 20 seconds.
const camelLetters = (string) => {
return [...string].map((v,i) => i%2 ? v.toLowerCase() : v.toUpperCase()).join('');
}
So a professional dev might cost 10x more but it'll take them 60x less to do a better job.
Good video!
Your advanced coder might be faster in the short term, but his code would slow down everyone else, because everyone else usually is a moron unable to decipher your advanced coders code.
I'm 31 and a senior at a major university studying mathematics and computer science. So, this was very relatable.
Hey Brandon! Glad you found it useful - it really does help prepare so much for these styles of interviews both on the hard and soft skill sides of things 😃
It was thrilling to watch through this entire mock interview! Huge kudos to Eli for racking up to courage to do and his ability to solve problems is very respectable. I am on the same journey as he is just learning as much as I can to become a full-stack developer and I believe an excercise like this would do me really well. So I hope I could a chance to be featured on your channel.
Hey John! Thanks for sharing this! These are absolutely essential to practicing for real interviews and not enough people do them. You can even practice in a mirror haha! But I’d love to do these with others from the community so we can see all sorts of levels of understanding. I’ll definitely keep you in mind for some future ones like this. Keep at it and you’ll be in a dev role before you know it! 🥳
Brother Nader, we need more interviews like these. Make it more real and professional. Ask and search around how recruiters are interviewing nowadays and then plz upload more videos about it, taking interviews from new guys for entry level jobs.
Also brother Nader, I,m also trying to break into the industry as an entry level front end developer, so if you want to interview me next, I'm down to it. It will be a really good experience.☺️
Thanks - that's the plan! I'd like to do these at a few different "levels". I'll keep you in mind for the upcoming ones 😊 Keep at it and you'll get in to the field before you know it! 🚀
Thank you so much for making this video, Nader & Eli! You’ve really opened the mind of this soon to start, self taught web developer!
You're very welcome, Jared! It's great you're seeing this as you're starting 😊
this is so authentic, props for the courage to do it in front of a camera!
Hey Miroslav! It definitely was huge for Eli to do this and have it recorded for all of us to learn from - huge props! 🥳
Thanks guy and super props to Eli for doing this. I’d be too nervous to even think in this scenario and it was very refreshing to watch Eli’s thinking process in solving the challenges. Loved it!
It's super important to practice ahead of time for exactly the reason you mentioned, haha! The more practice you get, the better and more confident you get at it, just like programming 😉
Without using regex and with the same concept as in question 1:
let i = 0;
let fixedHTML = "abcdef".replaceAll('', () => ++i % 2 == 1 ? '' : '');
Obviously that's not taking into account of mismatched/invalid HTML and element attributes, but that's for the discussion.
I like the video though. Helps people being prepared to talk about programming in an interview 🙂
Hey Dennis! Thanks a lot, that was the intention so I’m glad it came across 😊 Nice solution haha, very concise! 👌🏽
As a 33 year old prospective dev trying to teach myself after moving to new country (lots of life changes), this was a big confidence booster. If you ever feel like doing another one with someone, I'm game.
Not sure if this is the same as another comment since it looks like a duplicate haha! 🤯🤔 Is this the Matrix?
Real question is who codes Matrix? :) @@TechWithNader
This was an amazing video to sit down and watch being a beginner learner into coding myself. Watching this whole video gave me a lot tips on how to tackle problems and how to go through it step by step to get a better understanding of the question given. By questioning/answering edge cases and giving examples of what you want the program to actually run/spit out. I, myself, never really went through this process and just went straight into the coding aspect and try work my way through that which made it really hard on me, decreasing my confidence.
I give huge props to Eli because he came into this mock interview not prepared at all. You can tell Eli was nervous by the way he laughs and how he moving around a lot and wasn't really still at first. But after seeing you giving him the guidance and patiently talking to him through the process, Eli became more a lot confident and was able to work solving the code faster by understanding it.
The first coding problem was was done beautifully and I was able to understand it every step of the way. But the second coding question became a lot hard to follow due to the second if statement and understanding where to put each variable within the various brackets. My brain would always explode when I see more than 20 lines of code and would constantly have to run myself through the code repeatedly to understand it again.
Also, I really enjoyed on how Nader kept a calm/cheerful mood when talking to Eli even after seeing his nervousness when working through the problems by giving him reassurance on how he can approach things whenever Eli was stuck. I feel like I, myself, would have a better understanding If I had someone I can talk to and ask a lot of questions if I ever get stuck on how to approach things or ask how certain code works.
Really great video had me on the edge of my seat when he was trying to figure out the bug in Q1. Was like it's right thereeeeee.
Q2. Was interesting to think of and solve, I've been in the industry for 3+ yrs and could appreciate seeing that issue get solved and thinking about how I'd do it. So I pulled out a browser and tried.
How I solved it:
Native methods used:
.split
.forEach
.startsWith
.push
.join
.trim
%
Steps:
1. Kept tract of count
2. Created an empty fixedHtml array
3. Ran .split('
Hey Emmanuel! Haha, it's interesting as an interviewer because you want to yell that out but have to be patient and realize that you're the chill one while they are freaking out inside haha! Nice solution - any reason you decided to split on just "
@@TechWithNader As a mater of fact yes, note that split removes what you split on so splitting on gave me [' ', ' hello this is a ', ' tag'] from " hello this is a tag".
Thus meaning I had an inconsistent anchor values that I would have needed to handle.
@@NeniEmSu Nice, makes sense! 🤓
Great video and thank you for recording this.
I'm still very new so correct me if I'm wrong. However, I picked up that in q2.js, `Here is a tag` would not be an edge case.
If you were writing text in HTML about s', you will be using entity codes instead of the symbols.
Therefore, your code will omit it!!
Good point! There definitely is a difference between the semantic and correctness of the HTML when it comes to parsing compared to what we did here which is more basic 🤓
Being a senior developer, it's refreshing to revel upon those questions. Thank you Nader!
You’re very welcome! Indeed, it really helps to keep perspective, haha 😊
im doing now 10 months f full stack developer and now we are on JavaScript, I feel like a complete idiot, but that is alright. And this video even I couldnt follow it was nice to see the thinking process on how take you problems on. I'm very gratefull for this. Greetings from Belgium
Thank you for the raw unedited interview version. We need more such videos. I am on the same boat as well (not good with technical interviews as of today) and looking to improve.
I had a lot of fun following along and completing the coding questions. My favorite answer was to the last question:
const closeSecondDivs = (string) => {
const replacer = (match, openDiv, stuff, closeDiv) => [openDiv, stuff, closeDiv.replace("
Nice solution! Awesome work with the replacer function as well 🤓 I'd also encourage you to try to solve this without regex, as lots of other languages don't have it so easily accessible 😉
Awsome! I came to this solution. Also used some regex, but in a another way.
function closeDivs (ipt) {
let splited = ipt.split(/()/);//using lookarounds to keep seperator elemenmts in array
let first = true;
let output = "";
console.log(splited.length)
for (let i = 0; i < splited.length; i++){
if (splited[i] === "") {
if (first) {
output += ""
first = false
}else{
output += ""
first = true
}
} else {
output += splited[i]
}
}
return output;
}
This was very informative to watch as a Senior Info Systems student. While watching I paused at the problems and tried to figure them out myself without using Google and did pretty well. Of course it is harder for Eli as he isn't directly writing the code himself which makes it hard on top of the pressure of having someone watch you possibly make errors and evaluate you. Great video overall!
Thanks Juan! I'm glad you found it helpful, and I hope the preparation helps for your own future interviews 😊 It definitely makes it a lot harder when he has to communicate his ideas through me instead of just coding it himself - but that was the intention to test technical communication as well 😃
I wish you did more of these videos, they’re so freaking helpful
i am a Computer Science at my junior year, this is a very good insight . Thank you
You're very welcome! This would have been super helpful for me during those times instead of learning it the hard way, haha!
I can so appreciate this because its happened to me where I am in an interview and was asked to revers a list using for loop in JS and its like my brain shuton down right
Hey Shane! Absolutely this 💯 haha! It’s totally different being in the “hot seat” - literally your brain suddenly on fire while people stare at you haha! 😄
This is good. I like the honesty. I'd bet money it'll help Eli in the long run. I'm still at the entry/jr level, it's funny how the simplest question feels like a mountain when you're in that hot seat...
Hey Dune! Totally agree - it's so different when you're the one doing it, haha! Awesome to hear you're at a similar level and appreciating these since it's good to know you're not the only one imposter syndrome style 😄
Props for the guy doing it. The only piece of advice I would give is to be patient with yourself. If you don't know something...it's truly ok to say hey I don't know that specifically...but here's what I do know...and how I can use that to figure it out. Where a lot of people fail in interviews...is they try to sell skills they don't have and comes off as a salesperson rather than a subject matter student.
I have so much respect for eli. I would be shaking in my boots everytime our instructor would be looking for someone to do a whiteboard infront of class.
Hey Osborn! Totally agree - it is super brave of him to have done this and have everyone watching 😃
Whiteboard in front of a class also sounds pretty intimidating, especially if you're not confident in what you're white-boarding in the first place, haha! But the practice, even if you goof (and we all do) is totally worth it 😊
Thanks! It wasn't easy especially knowing that I was rusty and unprepared for this.
I'm 34 now and started changing my life in 2017 because I was and am depressed.
I learnt html, css and baaasic js (I never got the hang on js, couldn't wrap my head arround it).
Got jobs in two different wordpress agencies that promised me I'd be a good developer if I started there because they could teach me js etc.
But in the end, everything was done with templates or builders.
I had more technical knowledge than the wordpress seniors I worked with, got burnt out because I had to create 1-2 sites a month myself with content etc.
I was making just above minimum wage, so I went back to learn JS, and although I could kind of answer all the questions and understand the concepts and patterns, I can't really code.... I wonder when I'll finally be ready.
00:08 Learning programming has been frustrating due to personal traits but still excited about big projects.
05:06 An array in JavaScript is used to organize data, while an object is used when we want to associate named keys with values.
16:35 Write a function to capitalize every other letter in a string
21:38 Loop through the string and capitalize every other character.
32:21 There was a bug in the code that caused an extra letter to be added in the output.
37:50 The purpose of the function is to correct the closing tags for div elements in an HTML string.
48:02 There is a need to find a specific sequence of characters in a given text.
53:21 To solve the problem, use an array and loop through the characters
1:04:24 Keep track of the number of div tags found.
1:10:08 Build the entire string by adding characters one at a time.
1:20:25 Fixing bugs and iterating over strings
1:26:03 Successfully completed a complex coding interview question
1:34:54 Applying for positions will benefit from watching this process
Crafted by Merlin AI.
It is very instructive to find this type of content. I took this interview as if I were the interviewee.
This is my solution to the second question.
function fixDivTags(s){
let f = true;
return s.replace(//g,()=>{
f = !f;
return f?'':''
})
}
Thanks for your good work.
Hey Rafael! Glad you enjoyed it! Nice solution - can you do it without regex? 😉
@@TechWithNader
function fixDivTags2(s) {
let f = true;
for (let i = 0; i < s.length; ) {
if (s[i] === "
@@rafaelperezgonzalez696 Nice work! 🥳 In an interview it’s usually best to do it this way since most languages don’t have regex and so using it is kind of like “cheating” haha. It’s also hard to explain time and space complexity when using it if asked. Well done 🚀
I'm looking for a job in this domain as well and I think I never was more into a video. I enjoyed the entirety, even paused it to try to solve it myself. I was concentrated for the full one hour and a half. Great video. Props to Eli.
Thanks! Definitely props to Eli - very courageous to allow us to learn from him and have it posted publicly 🥳 I'm glad you found it helpful! Watching these and practicing along is a great way to prep as you do your own interviews 😊
Thanks, of course we tried not to make it completely boring hah
This video is true, I have two years experiece about fronted-developer.I think i can't
answer some questions, but I can create any projects.If i don't konw about knowledge, I will search use Google and chatgpt
Are entry-level interviews actually this easy?? Or, like were you just being polite?
I know being in the hot seat is way different, but overall the questions were pretty straightforward.
(The 2nd question you could of dove into really deeply though)
Cudos for having the nerve to do this live, and not script it too much.
You can tell the person doing the interview is completely raw, and un-scripted.
Extremely fascinating and actually enjoyable as it's such a raw interview. I'm exactly the same with being asked questions on the spot my brain just totally freeze's 😂After losing all my tools and gear in a fire, I have also decided to take the leap into the programming world and watching Eli's experience definitely has given a boost in confidence and assurance.
This made me appreciate what I already know about software. When you've been doing it for a long time I think you take it for granted a bit.
This was the solution to the 1st string problem that popped into my head almost instantly, as I'm sure it did for most other devs too.
const camelize = (text) => text.split("").map((letter, i) =>(i % 2 === 0 ? letter.upperCase() : letter)).join("")
Hey Wener, nice solution! It's so true that it's hard to put yourself back in the shoes of where you were when you first started! We definitely have a "curse of knowledge" and take many things for granted and assume too much, haha! 🤓
Whoa, props to Eli for for willing to expose himself in a situation like this. I think he actually kept it together pretty well. I'd instantly lose 90% of my IQ the moment I was asked the first question XD
Any IQ I had went out the window at the beginning hah
Hey Paulo - totally agree, haha! 😂
I don't know if it's good or bad, but I paused the video at 1:03 and decided to try solving the challenge myself before seeing the rest of the video. Just a heads up, I'm commenting before I see the rest of the video. I'm a total beginner, and I had one advantage: I ran some tests to check things, like console.log(string[i]), but this is the solution I came up with. Please don't judge me; I'm a beginner.
const closeSecindDivs = (string) => {
let resultString = "";
let divCounter = 1
for (let i = 0; i < string.length; i++) {
let chunk = string.substring(i, i + 5);
if (chunk === "") {
if (divCounter === 2) {
resultString += "";
divCounter = 1;
i += 4
}else{
resultString += chunk;
divCounter += 1;
i += 4
};
}else {
resultString += string[i];
};
};
console.log(resultString)
}
I just love this🔥. I was also going through the frustration that Eli's was going through. But its hard when u r in front of someone watching u solving the problem. ❤
Thanks Abdullah! Exactly! It’s really a different experience being in the “hot seat” haha! He did amazing especially given he know all of us would be watching him again and again after 😂
@@TechWithNader Really appreciated what u people are doing. GG's
Man this was a great interview!!!
I’ve been looking for entry level JavaScript interview and yours by far is the best one !
It’s so relatable!
Dude I would love for you to interview me as well !
I’m in a coding bootcamp right now and I be feeling exactly like Eli working through problems.
Ayee keep it up Nadar !
Thanks Sharvez! Would love to start doing more of these with others in the community 😊 Awesome to hear you’re in a boot camp studying this - don’t worry it gets easier the more you practice! Keep at it! 🥳
If you’re interested, we have a Discord server up to talk about these things too: discord.gg/Qkc62kpsKr
I was always afraid that I get interviewed and get asked a bunch of leet code problems in interviews, but I guess in an entry level position basics are covered and a little bit of the programming language knowledge or proficiency test? By watching this I'm much more hopeful now! Oh, I'm a 3rd Year BS Computer Science student mainly focused in Frontend Engineering. Wish me luck guys!
Pressure makes diamonds - Don't be scared to fail - at everything! Job interviews are both way! I always hated these technical interview that do not show off real talent. I started loving just being me during interviews and take as many as I could for places I thought I wanted to work. Places that valued business understanding over technical prowess was always a better fit for me as I can learn anything, yet when trying to get a new gig in a new language or platform, the gate keepers are sometime hard to impress. Another point was the interview being harder than the job because someone thought - let's put all that we want in a job description and see who shows up. Just don't be afraid to f'up and become better. I remember when a coding interview went south because me and their lead tech started to disagree and I was not backing down. 3 months later I was offered his job ;-) be you and get better at being you, warts and all!
Great video to help us get first hand experience on programming interview. Thank you for uploading such great content 😊
The hard question is a really good reason to elarn regex because:
function fixMissingClosingTags(html) {
const regex = /(]*)()/g;
const correctedHtml = html.replace(regex, '$1>$2');
return correctedHtml;
}
But regex is hard to learn but once learn you can solve stuff like this quickly and with very few lines of code.
This guy has balls to be put on the hot seat like that. Attay boy Eli!
I took a stab at the hard string challenge before watching the video and came up with this:
const fixDiv = function(string) {
let newString = "";
let count = 0;
for (let i = 0; i < string.length; i++) {
if (string[i] === "d" && string[i-1] === "
Love this content. Gives us aspiring developers an idea of what to expect in a real interview!
I’m currently learning how to code as l want to switch careers and seeing this type of content is great. It’s amazing to see the thought process of how you go through the problems trying to solve them. Please try and make this type of content in the future as I would love to see more interviews. I think they provide a lot of insights and are a great learning opportunity . Thank you. Subbed 👍
Hey Brian! Thank you very much for the kind words! I'm glad everyone is finding it so useful - this is the exact intention of these! I can't wait to make more, maybe even feature some aspiring developers from the youtube js community 😊
That would be amazing . I also liked the fact that you were super patient and helpful throughout the interview . I wish all the interviewers were like that . Anyway, amazing work, keep it up sir✌️
@@brians4265 Thanks Brian! 😊 You’re definitely right about interviewers haha, everyone is different in their approach and it really depends who is interviewing. It’s important to also realize that it’s just as much about you interviewing them as them interviewing you 😄
Oh God why does everyone want to be a programmer today
Wow, I was nervous, and it wasn't me being interviewed! This video fits me like a glove. Thank you guys for showing us pure raw footage of this process.
Hey Marcello! Haha, totally! It’s just human nature to feel and everyone does especially when starting out. I hope to do more of these and go deeper in to some of the strategies we can use to ease such feelings and excel at them 😊
here's the solution i came up with for the second problem:
function closeDivs(html) {
// start by finding all the locations of tag in the string
const divIndices = [];
let index = -1;
do {
index = html.indexOf('', index+1);
if(index !== -1) {
divIndices.push(index);
}
} while(index !== -1);
// now we can interate over all our indicies of ,and insert '/' for every second div
let arr = Array.from(html);
let indexOffset = 0; // splice will modify array, every time we do this we need to insert the next one space further
for(let i=0; i
19:20
function capitalizeEveryOther(str) {
// Initialize an empty result string
let result = '';
// Iterate through the string, capitalizing every other letter
for (let i = 0; i < str.length; i++) {
if (i % 2 === 0) {
result += str[i].toUpperCase();
} else {
result += str[i];
}
}
// Return the resulting string
return result;
}
//To use this function, you can call it with a string argument like this:
let capitalizedString = capitalizeEveryOther('hello world');
console.log(capitalizedString); // Output: "HeLlO WoRlD"
This function works by iterating through the input string and appending each character to the result string, capitalizing every other character as it goes. It uses the modulo operator (%) to check if the current index is even or odd, and the toUpperCase method to convert the character to uppercase.
Nice work! This is great 😃 What is you wanted to force the non-capital letters to be lowercase? 🤔
When I started watching an hour ago I subscribed and I was the 994 subscriber. Now I haven't even finished this video and you have aprox 1010 subscribers. Congrats! :)
Haha, thanks Rafael! As long as everyone is enjoying and learning from the content, I hope we can spread this to more people! 😊
the convo at 29:50 makes me think that "HELLO" should return "HELLO" if the objective was just to capitalize every other character (and otherwise do nothing), but this seems to have not been the case, of course this is irrelevant, thanks for sharing this (and props Eli!)
const divFunc = (str: string): string => {
let count = 0;
return str.split('>').map(x => {
const len = x.length;
const mid = len - 4;
// Look for a div tag at the end of string 'x'
if (x.slice(mid,len) === '
Hey Clint! Very interesting solution - it truly shows how you can do it in so many different ways! Thank you fo sharing 😃
second question without edge cases : str.replace(/\w+/gi,val=>val+'')
Eli - great to be you. You demonstrate an 'interested oriented' mindset; dopamine driven, with limited patience. Great for dev - when focused/hyperfocused. Suggest stimulant evaluation - though likely you've tried before
I think you're onto something here, I'm doing some tests on this now.
We're edge cases that have been marginalized in the educational system and 'society'. "Hey Google, give me a list of historical and current persons that demonstrat(ed) adhd." 'tis quite a list
@@natalie8NB Yeah I just wish I knew the actual extent of the detrimental effects of this earlier.
This is an example of someone who did not re-read his notes, or doesn't have notes to begin with, you should always study writing concepts in your own words and study that hard, because its information your brain created, so it's easier for you to recall, also, you need more confidence here, you should know what your tools are and what they are for, imagine if you asked a baker about how ovens work and he doesn't even know that they store heat. Short concise answers will give you the job, if you don't get it on the first try... nobody does, just study, know your shit and go on confident that you know your shit, and if you don't study harder and try again. BTW, I'm a software developer who started his career at 35 and started school at 31... and if you ask me what an array is, I would simply say, A mechanism to temporarily store sequential indexed repeatable objects.
good job , the last solution still has a bug the final answer is hello which is not right
This video is really the most useful and relevant out there, can you please make a series of such videos for beginner interview series in JavaScript, it will be really helpful for the ones like me who are trying to switch to a tech career.
Hey Abhishek! Thanks for saying that 😊 I plan to make more content around the career path and the interview and problem solving process alongside the course series. It’s amazing to see how needed this is for us in the community!
Fantastic Interview from Nader and Eli. Best of luck to you both!
Thanks Shaquille! Glad you enjoyed it 😊
The task seemed unnecessarily complex, with PHP one could have have split the string into and array of strings by and then recombine it alternating and . I would assume Javascript has similar functions available?
Hey Ray! Yup, you're absolutely right, haha. Technically you can do this functionally even in JS with one statement with thing like split/map/reduce etc. Since this is for an entry-level position, it really will be all over the map with the kinds of answers as different people think differently. It's not necessarily wrong the way Eli did it in this video, but definitely less concise.
A counter to that though, is that with something like split, you are using a little bit more memory/space complexity. But again, this wasn't a condition I was testing or asking about for this question either haha 😊
i feel like he would be like me if not in that seat and seeing that the else statement is obviously missing. When you're in front of even just one person watching your every logical step of the thought porcess adds enough pressure to make you forget and loose focus lol. Good video, it helps!
At no point when your friend asked you for help with debugging did you ask him what is it he was trying to do and what they are attempting with the code (the approach he used). You may fix the error that JS t is throwing but that working syntax may not be what the problem requires. When you help someone (in any field) try to understand where they are at, and where they want to get to. That should really be the first step.
I am only saying this because I know 100% you know this :D You have a good nature about you and you would generally do this naturally I think! In a world of hard logic, don't abandon your humanity
You’re totally right! I like the way you think and how you noticed this gap in how we went about the debugging. Sometimes we get so caught up in the problem we forget to zoom out, haha!
I can tell you must have a lot of experience doing this from such a comment 😊
Your last couple sentences gave me a good chuckle, haha! 😂 Love it!
Thanks for making this point. I don't have this type of intuition yet as I've never pair programmed before where someone was coming to me with a bug. This makes a lot of sense
after watching this video 1 year later I want to tell Eli that he will be a very cool engineer!
Awesome interview! :) Im currently in a bootcamp and I tried to answer while watching. I came up with this answer for the second one:
let hotdog = 0;
const result = string.replace(//gi, match => ++hotdog % 2 === 0 ? '' : match;
I would use regex here. Been learning frontend for quite some time now. And theese 2 problems are pretty easy. This gives me confidence ty.
Hey Lauris! Yup, you could totally use regex, however I'd encourage you to do these types of questions without it to demonstrate your "vanilla" problem solving abilities. Many languages don't have regex built-in like JS, and it can get hard to explain things like time/space complexity in interviews when you use regex 😊
I appreciate this so much! Thanks Eli for your vulnerability. I hope this opens more doors for you. 😊
please do more mock interviews like this!!
id also be down to be a subject lol
More of these are on the roadmap, haha! Be careful what you wish for, you might be next to embarrass yourself in front of the world like our friend, Eli 😉
Eli, you did great in a newb but I did enjoy watching the thought process made me think about things a little differently. I enjoyed the case studies as well.
Glad you enjoyed it, Tanner! 😊
Tried a different approach for Question 2. Hope it helps. 😊
function FixHTMLString(inputString) {
const splitString = inputString.split("");
let fixedString = splitString[0];
for (let i = 1; i < splitString.length; i++) {
if (i % 2 === 1) fixedString += "" + splitString[i];
else fixedString += "" + splitString[i];
}
return fixedString;
}
(inputString) => {
return inputString.replace(/
The async function question is very difficult to answer based on how JS works under the hood. That's a very senior JS engineer question to ask.
It's very different from the conventional understanding of parallel computing. So in a very strange way its not truly asynchronous.