At 4:15 i m not satisfied by the answer by a 4.5 year of experience because the settimeout fetch promise and settimeinterval are not the Apis of core javascript whereas these functions are provided by browser by WebApis so when we provide callbacks to these functions it will go to the queue after waiting time and and it will not executed until the Callstack empty ...when call stack empty from Global execution context then these function run according to their preserve order
@nithishnaidu5542Ай бұрын
Asynchronous vs synchronous code execution. That's all she had to say :)
@arpitham81047 ай бұрын
Candidate is good with her skills…she is making some of the topics which are bit complicated into very simple thing..that’s shows the experience 👏
@yuvarajgeethavel71538 ай бұрын
If you put the questions in the description section of the video, it will super helpful to practice along, Please consider it from next videos !! Btw great choice of questions!!
@shafiullahsyed42557 ай бұрын
Agree 💯
@manikantaprasadlopinti83758 ай бұрын
18:35 we need to create a closure (that holds the cache nothing but arguments and result) and return it ... then it will work independent of function that we are passing. until the functions are pure
@pushpendersingh74447 ай бұрын
I was thinking the same, right now cache is at global level all memoised functions will access the same cache. Each memoised function must have it's own cache.
@nikhilm1037 ай бұрын
The problem is that similar questions are being asked since about 3-4 years now. I understand that they do a good job on checking the conceptual knowledge of the candidate and reinventing the wheel might not be possible every time but majority of the candidates I’ve seen just learn the solutions by heart and sometimes can’t even deal with a follow up question. People should understand that this is not an exam where you would just empty your pockets when you see a question you’ve already solved or practiced and call it easy. Ofc the interviewer will be more experienced and can read between the lines. We can always try to focus on the concepts as opposed to just going through interview questions.
@pradeepj25808 ай бұрын
memoizeOne function will not work here if we call memoizeOne with different callbacks Eg: if we call memoizeOne with add , and also we call memoizeOne with sub results will be inconsistent because cache map is global one it will be shared by both add and sub callback memoizeOne calls So we need create cache map for each memoizeOne call and return arrow function from memoizeOne
@jackfrost89697 ай бұрын
This was actually a challenging question for first timer.
@jacquelynecarmen8 ай бұрын
18:35 I think we should concept of decorator function A decorator allow to add new functionality to an existing fun without modifying its structure and return modified fun
@Shyam_Mahanta7 ай бұрын
Decorator doesn't exist in javascript
@jacquelynecarmen7 ай бұрын
@@Shyam_Mahanta are you sure?
@Shyam_Mahanta7 ай бұрын
@@jacquelynecarmen typescript has full support for decorator but in js its just arghhhhhh.....
@sameerfaridi27 ай бұрын
This video has a lot of great information, but as a beginner, I didn't fully understand some parts like the callback in the initial question, memoization, and other detailed concepts. I plan to watch it again after more practice, and I'm sure I'll understand everything better then. Thank you, Chirag Goel Sir.
@adarshtiwari73956 ай бұрын
While preparing for interviews, watch Namaste JS playlist on youtube and then come back to this video. You will understand properly
@onecuriousmuggle8 ай бұрын
Great video! Looking forward to more episodes from chakde interviews!
@engineerchirag8 ай бұрын
More video are in pipeline. Turn on the notification on channel for every Saturday 10AM
@midbencher_habits8 ай бұрын
2021 me aapke git videos but were unable to understand but now again I am here after almost 3 years to watch machine coding round questions. Thanks for such awesome content
@engineerchirag8 ай бұрын
It's my pleasure. That I can bring you back ❤️
@thatoneguy9087 ай бұрын
Above video is of Machine coding interview format? In machine code don’t wee have to develop a small functionality?
@vishalpanchal23438 ай бұрын
Overall that's a good interview. Optimized solutions are- Q 2. We can use closures here as mentioned by him will looks like - function memorizeOne(fn){ const cache = {}; return function (...args){ const key = JSON.stringify(args); // Creating unique keys because objects are reference type if (key in cache) { console.log("Using memoized result"); return cache[key]; } else { console.log("Calculating result"); const result = fn(...args); cache[key] = result; return result; } } } const add = (a, b) => a + b; const memorize = memorizeOne(add); console.log(memorize(1, 2)); // Calculates result: 3 console.log(memorize(1, 2)); // Uses memoized result: 3 console.log(memorize(2, 3)); // Calculates result: 5 console.log(memorize(1, 2)); // Uses memoized result: 3 Q 3. Her solution was also good but here I used reduce method const obj = [ { key: 'Sample 1', data: 'Data1' }, { key: 'Sample 1', data: 'Data1' }, { key: 'Sample 2', data: 'Data2' }, { key: 'Sample 1', data: 'Data1' }, { key: 'Sample 3', data: 'Data1' }, { key: 'Sample 4' } ]; function groupBy(arr) { return arr.reduce((value, item) => { const { key, data } = item; if (!value[key]) { value[key] = []; } value[key].push({ key, data }); return value; }, {}); } const output = groupBy(obj); console.log(output); Your explanation of questions are great Krupa. Will wait for next part of the series.
@engineerchirag8 ай бұрын
Thanks for sharing 🙏❣️
@KannadaLofi8 ай бұрын
const add = (a: number, b: number) => a + b; const CACHE: Record = {}; function memoizedAdd(n: number, m: number) { const argArray = Array.from(arguments); const key = JSON.stringify(argArray); console.log(CACHE); if (key in CACHE) { console.log('Accessing CACHE'); return CACHE[key]; } else { console.log('Computing'); const result = add(n, m); CACHE[key] = result; return result; } } console.log(memoizedAdd(1, 2)); console.log(memoizedAdd(1, 2)); Sorry I have a doubt, this is my solution. Why would we need another temp function inside the memo function ?? Could you explain if possible please
@vishalpanchal23438 ай бұрын
@@KannadaLofi As I understand your question, you are talking about the function which passed as an argument. It is because we want to make memorize function generic which can memorize any function output. In your code "console.log(memoizedAdd(1, 2));" you are calling it for to memorize add with two arguments, but if we have more arguments ? So need to make it generic.
@tangudusrinivasu88554 ай бұрын
Inside the if loop, value[key] = [ ] should not be empty, it should be value[key] = [item] or value[key] = [{key, data}];
@artofcoding20108 ай бұрын
Wow this is a fantastic addition. Thanks Chirag sir for this series and all the best for season - 2 🔥🔥🔥
@engineerchirag8 ай бұрын
More to come soon 🚀
@RajneeshYadav-yl2th7 ай бұрын
@@engineerchirag Thanks you sir❤. we love this series.
@UttamKumar-gi7mc8 ай бұрын
Thank you sir for this a great series. One of the most awaited series.
@engineerchirag8 ай бұрын
We have just started. This release will be one stop solution for frontend interviews
@lfc5times1307 ай бұрын
Superb question and answers. Thank you chirag.
@engineerchirag7 ай бұрын
🥰
@vikasvarma94624 ай бұрын
for the common question section flatten array i have a solution function flattenArray(arr){ return arr.toString().split(",").map(Number) }
@nayansinghal238 ай бұрын
CODE FOR QUESTION 3 :- const add = (a, b) => a + b const memoizeOne = (add) => { const map = new Map(); return (a, b) => { const obj = { args: [a, b] } if(map.has(JSON.stringify(obj))) { console.log('Add function is not executed: previous result is returned -> ', map.get(JSON.stringify(obj))); } else { const output = add(a, b); map.set(JSON.stringify(obj), output); console.log('Add function is called to get new value -> ', output); } } } const memoizeAdd = memoizeOne(add); memoizeAdd(1, 2); memoizeAdd(1, 2); memoizeAdd(2, 3); memoizeAdd(2, 3);
@venkiketavath44005 ай бұрын
const result = numbers.flat(Infinity); // flatten all the nested array values into a single array of value
@rahulkrishdev5 ай бұрын
I am very happy that for these problem statement I paused the video I tried by myself I can able to solve that and solved those without any hint. I am confident now that i will crack my interview in the future 😊
@igurutechs25835 ай бұрын
Yes me too! But i've a doubt that whether we could use a.flat(Infinity) to flatten the array or we should always make the polyfill function for it in the interviews?
@rahulkrishdev5 ай бұрын
@@igurutechs2583 From my experience it is better to use polyfill function in an interview. Since most of my interview the interviewer asked me to write a function instead of a method. some Interviewer was ok with methods. It depends upon the interviewer i think.
@anujtanwar29375 ай бұрын
The interviewer will himself ask you to make the pollyfill of flat function as array.flat() is pretty straight forward answer Incase you are fresher he might not.
@shivamranjan40355 ай бұрын
great video, learned concept of caching :)
@amansingh-lj3tg8 ай бұрын
memoize problem was very good. learnt a new thing. very nice video.
Can someone or the author please post a full solution of that memoize(add) function question? Thanks !
@rishabhpanesar96218 ай бұрын
I think we could use currying concept for the memoisation problem.
@syncmaster3208 ай бұрын
Her explanation is great although the implementations are okay at best. First problem could be solved used Object.groupBy (I guess he was expecting that), the memorization problem took way too long and then the recursion problem doesn't need an array initialized out side the function. The overall interview also seemed easy for anyone with 2.5-3+ yoe.
@krupapanchal99088 ай бұрын
Hi, thank you for the feedback. The points you gave are genuine and valid and I personally feel the same that solution could have been provided/presented in a better manner.
@syncmaster3208 ай бұрын
@@krupapanchal9908 Hey! Didn't expect you to reply. Again, your communication is amazing and that alone will take you places. Hope I didn't come off too strong with my comment. All the best!
@satyendrakannaujiya1878 ай бұрын
very informative video...waiting for more
@engineerchirag8 ай бұрын
More to come! Stay tuned 🚀
@PratikChavan-rg6xj6 ай бұрын
Great video Chirag sir! The memoized question was great, learned a lot ❤
@engineerchirag6 ай бұрын
Glad you liked it
@sanyamjain70588 ай бұрын
I think this is fine from my side! Anyone can improve this? function memoised(fn){ const cache=new Map(); return (...args)=>{ const key=args.join('-'); if(cache.has(key)) return cache.get(key); const ans=fn(...args); cache.set(key,ans); return ans; } }
@MessiLeo23127 ай бұрын
good apporch
@jackfrost89697 ай бұрын
23:11 did you just cut off the video and told her the solution? 35:02 here too
@TOONSSTATION6 ай бұрын
trueee
@mirage47315 ай бұрын
function memoize(fn){ const argsLength = fn.length const cache = new Map(); return function(...args){ const key = args.join("") if(cache.get(key)){ return cache.get(key) } const result = fn(...args) cache.set(key, result); return result; } } memorize function I made, I initially made it with object but then moved to map
@godessGOATАй бұрын
from where can i get more questions like this to practice?
@sumitkumardey32688 ай бұрын
Great Questions!!! @chirag.
@engineerchirag8 ай бұрын
🙏
@shafiullahsyed42557 ай бұрын
Kindly put the interview stuff in the description you doing great job ❤
What was the question? I couldn't understand it properly.
@nayansinghal238 ай бұрын
@@payelbhowmik9060 The question states that you have to rearrange (or normalize) the data in such a way that the output is an object. This is generally done to reduce the Time Complexity from array O(N) to object O(1) because to access an element in an array we have to traverse it completely but to access it in an object we can use dot notation or even square brackets. Good Luck🤞
@vamshikrishna60018 ай бұрын
Want more interview videos with different types of questions for experienced Frontend developer, thanks a lot for sharing this knowledge.
@engineerchirag8 ай бұрын
More to come! Stay tuned 🙂
@vamshikrishna60018 ай бұрын
If possible share videos of debugging the issue in front-end development in detail.
@snehalrahangdale87008 ай бұрын
function memoize(fn) { let memo = new Map(); return function() { const context = this; const args = arguments; if (memo.has(args.toString())) { console.log("return from memoize"); return memo.get(args.toString()) } let result = fn.apply(context, args) console.log(result); memo.set(args.toString(), result); return result } }
@surajseth15758 ай бұрын
Bro, title to shi rkh lete..she said she has 2 years of experience and you mentioned 4.5 years in video title...phle 1 min me hi video ki authenticity smjh aa gyi
@engineerchirag8 ай бұрын
She has 2 years experience as a frontend developer. She was a software engineer from 2019. I'm here to provide authentic content 💯
@pawanchoudhari51308 ай бұрын
Sorry to point out , but first Output based code won't run , there should be one closing ')' after console.log(x). Other than that her explanation was great 👍🏻
@engineerchirag8 ай бұрын
Thanks for highlighting, but syntax wasn't the main consideration in this interview
@jahidulhasan85588 ай бұрын
i hope this EP - 01 will be increase. thanks from bangladesh
@engineerchirag8 ай бұрын
Block your calendar for 10AM every Saturday 🙂
@madhanrock53908 ай бұрын
Good interview, Loved it ❤
@engineerchirag8 ай бұрын
Glad you enjoyed it! Stay tuned for more upcoming video 🚀
@DONGNebab6 ай бұрын
damn shes so good. . ithink the hardest is the 2nd to the last problem, icant even know ,how to memoize a the result. haha
@pez54917 ай бұрын
Great interview, though in my country (Poland) such questions are asked in junior level interviews
@engineerchirag7 ай бұрын
Thanks for the info. Would you mind sharing the kind of questions which are asked in Poland?
@prateekaggarwal59708 ай бұрын
Great Video, Please schedule more mock interview for Senior developers also.
@engineerchirag8 ай бұрын
Stay tuned for 10 Am every Saturday 🙂
@amitkumar-lo9fr7 ай бұрын
First question in which foreach use have compile error. forEach() is not closed
@rahultej83527 ай бұрын
Kudos to the interviewee
@engineerchirag7 ай бұрын
❤️
@dilshadazam8807 ай бұрын
Come Satuarday. I leave everything to watch Chirag's video at 10AM.
@engineerchirag7 ай бұрын
❤️
@Vamsiri8 ай бұрын
Great insights!
@engineerchirag8 ай бұрын
Glad you enjoyed it!
@thepassionatecoder54045 ай бұрын
She is decent JavaScript developer :)
@CarlTaylor-d1y6 ай бұрын
Add(1,2) return 3 from cache but as per her logic if we pass Add(2,1) it will not come from cache but it also should come from cache ? So args sort is much important to set a key
@anujtanwar29375 ай бұрын
It will only work in case of add and not in case of sub or /,% so sorting the args just for add func doesn't make sense
@marcspect2 ай бұрын
My solution for the memorize function problem with diff functions like add & sub. const cacheObj = {}; const memo = function(fn) { return function(...args) { if (cacheObj[fn.name]) { const value = cacheObj[fn.name][String(args)] if (value) return value; const result = fn(...arguments); cacheObj[fn.name][String(args)] = result; return result; } else { const result = fn(...arguments); cacheObj[fn.name] = { [String(args)] : result } return result; } } } const add = (a, b, c) => a + b + c; const sub = (a, b) => a - b; const memoAdd = memo(add); const memoSub = memo(sub); const result = memoAdd(1,2,3); const result2 = memoAdd(1,2,4); const result3 = memoAdd(2,1,3); const result4 = memoSub(4,3); const result5 = memoSub(6,7); const result6 = memoSub(4,3); console.log("🚀 ~ result:", result, result2, result3, result4, result5, result6) console.log("🚀 ~ cacheObj:", cacheObj)
@riderzzone63735 ай бұрын
she is too good 🤩😍😍
@devendrakanojiya3 ай бұрын
beauty with brain
@akkiawasthi88648 ай бұрын
Thank you Chirag bhai pls do some videos on machine coding as well
@engineerchirag8 ай бұрын
Yes, it's coming soon. Stay tuned!
@phoenixgaming30458 ай бұрын
i am a 1 yrs experienced guy but feels like having 6 or 7 years of experience 😢. There was a time where there is less competition for skills for software jobs, now people are having enough skills but very hard to get a job 😕
@virajtandel248 ай бұрын
Not understood brother what you are trying to say can you elaborate more plzz.
@phoenixgaming30458 ай бұрын
@@virajtandel24 the demand for skills and the level of difficulty in interviews are increased so much recently. That is what i said.
@JgNt39818 ай бұрын
Hello Sir, 1. How do you stay active and energetic always? 🤔 2. Can we use internet in machine coding rounds if we dont remember the syntax? Thank you,
@engineerchirag8 ай бұрын
My energy is from love and support ❣️. Yes, we can ask the interviewer to allow you to check syntax on the internet.
@Luke-1o18 ай бұрын
please make sure you be consistent & complete it 🙏
Sir could you give all these question in a pdf file or somewhere so that anyone can practice these
@sachin-chaurasiya8 ай бұрын
Great, thanks for making this video. Curious which platform you used for assessment?
@engineerchirag8 ай бұрын
Thanks for feedback. DM me on LinkedIn for details 😊
@GreenLadderNow8 ай бұрын
🎉 Excited for Season 2 of Chakde Interviews! Mock interviews sound like a fantastic addition. As I'm working through Namaste Frontend System Design, I've learned so much from you, Chirag. Thanks a lot for the invaluable insights! 👏
map should be created inside the parent function and not globally
@Vibha_jain_adv8 ай бұрын
Can you asked how to browser render html code?
@engineerchirag8 ай бұрын
Sure, in one of the upcoming interviews I will ask 🙂
@shashankdubey47547 ай бұрын
Flatten array was asked to me in interview with ServiceNow ❤
@shashankdubey47547 ай бұрын
and Data transformation question was also asked
@engineerchirag7 ай бұрын
Great! ❤️
@engineerchirag7 ай бұрын
❤️
@maheshpanchakshare58687 ай бұрын
awesome sir...
@engineerchirag7 ай бұрын
Keep watching 🚀
@rizwansaifi35905 ай бұрын
in the 2nd question the output should be empty array for ' sample 2 ' , ' sample 3' , ' sample 4 ' but the interviewer just said okay that works xD
@engineerchirag5 ай бұрын
Can you please help with your solution?
@rizwansaifi35905 ай бұрын
sure here is the jsfiddle for the same : jsfiddle.net/bhallal_dev_/1j2oLzfm/35/
@rahultej83527 ай бұрын
Her sister is a Indian cricketer Jemimah rodrigues
@engineerchirag7 ай бұрын
😛 I just released. Who knows she is only giving interview
@zunnurainzahoor5 ай бұрын
answer of memoize function function MemoizeOne(fn) { let cache = null; let lastArgs = null; return function(...args) { if (cache !== null && lastArgs !== null && args.length === lastArgs.length && args.every((arg, index) => arg === lastArgs[index])) { return cache; } lastArgs = args; cache = fn(...args); return cache; }; } const add = (a, b) => a + b; const memoizedAdd = MemoizeOne(add); console.log(memoizedAdd(1, 2)); // 3 console.log(memoizedAdd(1, 2)); // 3 (cached result) console.log(memoizedAdd(2, 3)); // 5
@iganic75747 ай бұрын
she have 4.5 years of experience and you ask him this basic questions.🙄
@codeblood876 ай бұрын
Krupa panchal, very very talented coder..
@engineerchirag5 ай бұрын
👍
@pratik51158 ай бұрын
Will this type of questions asked to freshers ???
@engineerchirag8 ай бұрын
Freshers related videos are coming soon!
@mohithguptakorangi17668 ай бұрын
except memoization (maybe for a 1+ yrs experienced canditate), the other questions were pretty basic.
@hritikchaudhary54708 ай бұрын
is she really 4.5 year experience, looks like fresher.🧐
@explorewithsatish12088 ай бұрын
Don’t judge a book 📕 by its cover 😮
@engineerchirag8 ай бұрын
Why so?
@JyotiGhali-g3z8 ай бұрын
I feel looking like 8 years experience
@lalithrockz8 ай бұрын
Looking young im guessing@@engineerchirag
@phoenixgaming30458 ай бұрын
I feel like 10 yrs experienced guy now
@mohithguptakorangi17668 ай бұрын
Please dont get my hopes up...please tell me these are not the questions asked in a real 4+ exp interview I feel these are too easy, maybe for around 1-2 yrs exp?
@virajtandel248 ай бұрын
Can you tell me some concepts which are asked in 4+ according to you brother??
@mohithguptakorangi17668 ай бұрын
@@virajtandel24 After talking to my seniors, I feel it is more focused on design approach questions after 4-5+ yrs experience. Maybe the memoized question was okay to be put in as a starter...but the rest are way too basic. But it always depends on the company and the interviewer. what I'm sure is that interview would not be this easy
@virajtandel248 ай бұрын
Thanks brother I will prepare acoordingly now
@Mr.Zeus118 ай бұрын
Great video!!, Thank you. and small update in memoization, if combination of arguments changed that has to be handled. ✌ // Memoization const hashMap = new Map(); function memoizeAdd (fun) { return function (...arg) { const key = arg.join('_') const reverseKey = arg.reverse().join('_') let result = '' if (hashMap.has(key) || hashMap.has(reverseKey)) { console.log('from memo') result = hashMap.get(key) || hashMap.get(reverseKey); } else result = fun(...arg); hashMap.set(key, result) return result; } } let addTwoValues = (a, b) => a + b; const addNumber = new memoizeAdd(addTwoValues); console.log(addNumber(2,3)); console.log(addNumber(2,3)); console.log(addNumber(3,2));
@kshitijtidke68582 ай бұрын
Hamara bhi yesa interview lo 5 6 ctc to mg rahe hai bas
@JgNt39818 ай бұрын
Clement mihailescu came in my mind while watching this video. 😅
Hi, your point is valid. However, as I was fairly new to this type of interview setup, it took time for me to get comfortable and perform at my best level. The interview is more about how you approach a problem and navigate towards the solution after hints are provided. In how much time you complete the problem is a secondary point of consideration.
@vijayr.b.10508 ай бұрын
Buddy It has nothing to do with experience, someone might not came across this usecase, it depends on what industry or problem candidate worked on solving early.
@phoenixgaming30458 ай бұрын
Knowing something now a days are very easy and if she doesn't come across that situation just google, thats all it takes 😅. he already instructed her to take help from google to know how to get arguments of a function
@krupapanchal99088 ай бұрын
@@phoenixgaming3045 Thank you for the suggestion. Added "Google" to my "Need to learn" list.
@shaileshsony27 ай бұрын
Sir I am searching for a Frontend Developer job please help me sir if you have any vacancy Thanks
@engineerchirag7 ай бұрын
👍
@karthiksundaram5448 ай бұрын
❤
@engineerchirag8 ай бұрын
❤️
@akashharad42038 ай бұрын
thank you
@engineerchirag8 ай бұрын
Welcome!
@DevGuru-s9k8 ай бұрын
sir please next video for freshers
@engineerchirag8 ай бұрын
Noted!
@EpNews-50127 ай бұрын
In this code: console.log('A') setTimeout(() => { console.log('B') }, 1000) ['C','D'].forEach((x )=> console.log(x)) console.log('E') // Output: 1 Showing Type Error when the code ['C','D'].forEach((x )=> console.log(x)) executed due to semicolon not there end of setTimeOut().
@KartikKewalramani-q6v6 ай бұрын
i guess comedy ain't going well for kenny...
@engineerchirag5 ай бұрын
Who is Kenny here 🤔
@gaganbaghel13778 ай бұрын
This is not at all a real scenario in an interview even freshers interview are not taken like this anymore please don't prepare according to this interview example this sort of interview are used to happen in 2016 to 2019 only even freshers code better than this nowadays so if you want a job and want to really crack a interview please don't refer this as good interview yet you can refer it as a easy mock interview
@engineerchirag8 ай бұрын
Would love to know what kind of questions are expected nowadays 😊
@gaganbaghel13778 ай бұрын
In my recent interview I was asked to design a tic tc toe with a dynamic board , and in my previous interview I was asked to design a polyfill for map, and one of the interview also asked to implement deag and drop functionality as he asked me to refer trello for for it 😊
@engineerchirag8 ай бұрын
Don't worry, all of such questions are already in pipeline. You will get the best and variety of questions in this series. Trust me this series is going to "The Best and One Stop" solution for all frontend interviews . Stay tuned 🚀
@engineerchirag8 ай бұрын
Btw check this out - tictactoe question - kzbin.info/www/bejne/qKWuqKxnoJ6fj7s
@Vivek-gt4gm8 ай бұрын
I am also starting Frontend Interview Preparation, with an amazing group where we discuss important questions in Zoom meetings regularly. if anyone who is really seriously wants to join let me know.(MERN with JavaScript)