3.5 Years Experienced Best Javascript Interview | Chakde Frontend Interview EP - 02

  Рет қаралды 21,875

Chirag Goel

Chirag Goel

Ай бұрын

Hello folks!! First of all, I am so thankful to you all for all the love and support you have given to the first episode of "CHAKDE INTERVIEWS" and as promised I am rolling out another episode of "CHAKDE INTERVIEWS" on the most popular Javascript questions in interviews. Check it out and share it with your friend.
Connect to learn & grow together in our career❤️:
✅ Linkedin: / engineerchirag
✅ Twitter: / engineerchirag
✅ Instagram: / engineerchirag
Music track: Wanderer by walen
Source: freetouse.com/music
No Copyright Background Music
#interview #react #javascript #chakdeinterviews #frontenddevelopment #mockinterview

Пікірлер: 116
@himanshukhosla
@himanshukhosla Ай бұрын
Thank you very much for inviting me for this mock interview round chirag sir. Really loved the thrill of mock interview of Microsoft 😀
@engineerchirag
@engineerchirag Ай бұрын
Always welcome! Thanks for coming ❤️
@riyasahamedm4747
@riyasahamedm4747 Ай бұрын
can you pls share the link where you refer at 28:40
@anandagar2k
@anandagar2k Ай бұрын
For the first problem we can define all these methods in the prototype object, declaring inside calculator will create copy of these methods in each object which is over burden to maintain. function compute(){ this.amount=0; } compute.prototype.lacs = function(val){ this.amount = this.amount+val; return this; } compute.prototype.value = function(){ return this.amount; };
@smrutisagarpattanaik1506
@smrutisagarpattanaik1506 Ай бұрын
For the first problem, one can use recursion and closure to write a solution like below:- function computeAmount(value, total = 0) { if (value) { total = total + value; } return { lacs: function (value) { return computeAmount(value * 100000, total); }, crore: function (value) { return computeAmount(value * 10000000, total); }, thousand: function (value) { return computeAmount(value * 1000, total); }, value: function () { return total; } } }
@rishabhmehta6204
@rishabhmehta6204 29 күн бұрын
but issue is you are passing parameter in actual question we are required not pass any args to computeAmount.
@smrutisagarpattanaik1506
@smrutisagarpattanaik1506 28 күн бұрын
I have mentioned parameters in the function. One does not have to pass argument.That is why null/undefined check is present inside the function. If one runs the function according to the syntax shown in video it should work.
@omkarjagtap2212
@omkarjagtap2212 21 күн бұрын
recursion is not optimized way to solve this problem it will consumed memory stack better go with factory function
@smrutisagarpattanaik1506
@smrutisagarpattanaik1506 21 күн бұрын
​​@@omkarjagtap2212 Yes recursion will consume space on call stack. But in the solution it will be one level deep. The reason is I have kept the data and arithmetic calculations in the parent function. But that can also be fixed. Like below solution:- function computeAmount() { let total = 0; let obj = { lacs: function (value) { total = total + (value * 100000); return obj; }, crore: function (value) { total = total + value * 10000000; return obj; }, thousand: function (value) { total = total + value * 1000; return obj; }, value: function () { return total; } } return obj; } This will still work. JavaScript closure concept is all one needs to solve the problem.
@madhanrock5390
@madhanrock5390 Ай бұрын
Good interview Again, Learning new things ✌ Thanks Chirag for investing your time in conducting mock interviews, Immensely helpful ❤
@engineerchirag
@engineerchirag Ай бұрын
My pleasure 🙏❤️
@sumitkumardey3268
@sumitkumardey3268 Ай бұрын
@chirag once again it's tricky , unique and knowledgeable questions from your side. Thanks , Please keep posting.
@engineerchirag
@engineerchirag Ай бұрын
Thank you, I will. Keep watching, keep sharing ❤️
@srihariramakrishnan3935
@srihariramakrishnan3935 Ай бұрын
@engineerchirag I doubt if there is any actual model state.value. Because the getter, setter actually returns and sets input.value. Printing the state value within those methods or anywhere else can help understand it better. I am yet to try this out myself. Intriguing question though! Thanks for it.
@SCRIPTSAG
@SCRIPTSAG Ай бұрын
First probkme based on currying second in this and third was related to getter setter great 👍
@sanketjaiswal76
@sanketjaiswal76 Ай бұрын
Absolutely one of the great interview i watched , i am learning a Lot from this interviews , whcih will definatly help me in my upcoming interviews.Thanks you so much.
@engineerchirag
@engineerchirag Ай бұрын
Awesome ❤️. Do share in your network as well. 🙏
@chandrasekharmadavaram-nq9dq
@chandrasekharmadavaram-nq9dq 23 күн бұрын
one the great interview, learnt new things, please keep do more videos
@engineerchirag
@engineerchirag 20 күн бұрын
Thank you! Will do! ❣️
@amandubey4412
@amandubey4412 Ай бұрын
excellent work
@engineerchirag
@engineerchirag Ай бұрын
Thank you! Cheers! ❤️
@harshitagupta8641
@harshitagupta8641 28 күн бұрын
Thank you chirag sir for this amazing video ❤.lot of things I have learned from this video. Sir Plz keep posting this type of video🙏
@engineerchirag
@engineerchirag 28 күн бұрын
Keep watching ❤️
@BulbDrama
@BulbDrama Ай бұрын
Nice one
@engineerchirag
@engineerchirag Ай бұрын
Thanks for watching
@prakharomer7745
@prakharomer7745 Ай бұрын
It was totally awesome , super tricky questions.
@engineerchirag
@engineerchirag Ай бұрын
Glad you liked it ❤️🙏
@ankushladani496
@ankushladani496 Ай бұрын
Thanks Chirag Sir for this awesome series...😊❤
@engineerchirag
@engineerchirag Ай бұрын
Keep watching ❤️
@sohrabkhan8367
@sohrabkhan8367 Ай бұрын
It was very good interview. Questions are very relatable and the approach to solving question is really awesome. Worth to watch the whole video.
@engineerchirag
@engineerchirag Ай бұрын
Keep watching ❤️
@omkarjagtap2212
@omkarjagtap2212 21 күн бұрын
my answer for 1st problem using factory function const createComputeFunctions=()=>{ let totalAmount=0 return { thousand:function(amount){ totalAmount+=amount*1000 return this }, lacs:function(amount){ totalAmount+=amount*100000 return this }, crore:function(amount){ totalAmount+=amount*10000000 return this }, value:function(){ return totalAmount } } } const compute =createComputeFunctions() const result=compute.lacs(15).crore(5).crore(2).lacs(20).thousand(45).crore(7).value(); console.log(result)
@mobilegaming9071
@mobilegaming9071 Ай бұрын
Getting excited
@engineerchirag
@engineerchirag Ай бұрын
Keep watching, keep sharing. Try to attempt questions by yourself 🚀
@mobilegaming9071
@mobilegaming9071 Ай бұрын
@@engineerchirag yes sir I just pause the video and try to solve the problem .
@anyoneola456
@anyoneola456 Ай бұрын
Amazing Mock Interview, best for Self Practice and become familiar to such type of questions, is there any particular website or something where we can practice this questions? BTW amazing video, the community needs more such videos.....loved the work and efforts you have put to make this things available on KZbin. Keep It Up.👍👏
@engineerchirag
@engineerchirag Ай бұрын
Every Saturday a new video of "Chakde Frontend Interview" will be live - Stay tuned. Keep growing, keep sharing 🚀
@user-rm4np9pw2h
@user-rm4np9pw2h Ай бұрын
in input we already have `change` event listener so why we dispatch again 🤔
@mkunboxing
@mkunboxing Ай бұрын
awesome
@engineerchirag
@engineerchirag Ай бұрын
❤️
@Mr.Zeus11
@Mr.Zeus11 Ай бұрын
Question 2: FYI those who couldn't get why maximum call stack size exceeded In order to access the state.value it has to call "get()" function again => inside get function it's returning "state.value" so basically it's creating N number of "execution context", Each invocation adds a new execution context continues indefinitely. Start | v Access state.value | v Invoke getter function | v Return state.value | v Access state.value (again) | v Invoke getter function (again) | v Return state.value (again) | v Access state.value (yet again) | | | | (This loop continues indefinitely) | | v v
@karthiksundaram544
@karthiksundaram544 Ай бұрын
@engineerchirag
@engineerchirag Ай бұрын
❤️
@manimk9922
@manimk9922 9 күн бұрын
can you share that link where himanshu referred..?
@thechallengers6424
@thechallengers6424 26 күн бұрын
Which real world project have used atleast one of these deep concepts of js???
@FaizanPinjari
@FaizanPinjari Ай бұрын
If people thinking what editor it is, it's technical assessment platform codility.
@maheshshirate2834
@maheshshirate2834 Ай бұрын
As student how is learning web dev, I learnt a lot, awesome interview ❤ Sir, Pls don't stop this seris
@engineerchirag
@engineerchirag Ай бұрын
Thank you, I will. Keep learning, keep sharing 🚀
@nitinakuch4973
@nitinakuch4973 Ай бұрын
Where I can practice such JavaScript questions?
@yashsolanki069
@yashsolanki069 Ай бұрын
Extremely helpful for all of us. Thanks chirag for this series. Could you please share, What is the code editor being used here?
@engineerchirag
@engineerchirag Ай бұрын
Thanks Yash for feedback. DM me on LinkedIn for details 😊
@rikki7663
@rikki7663 15 күн бұрын
day 51 of asking: from where we can prepare these types of questions... question quality is superb
@rishabhmehta6204
@rishabhmehta6204 29 күн бұрын
My Approach for first question const calamount={ val:0, lakhs:function(a){ this.val+=a; return this; }, crore:function(a){ this.val+=a return this; }, value:function(){ return this.val; } } function calculateamount(){ return calamount } console.log(calculateamount().lakhs(57).crore(567).lakhs(566).value())
@nimishgs3259
@nimishgs3259 11 күн бұрын
First Q: function computeAmount () { this.value = 0 const context = { lacs: lacs.bind(this), crore: crore.bind(this), thousands: thousands.bind(this), value: value.bind(this) } function lacs (number){ const numberInLacs = 100000*number this.value += numberInLacs return context } function crore (number){ const numberInCrores = 10000000*number this.value += numberInCrores return context } function thousands (number){ const numberInThousands = 1000*number this.value += numberInThousands return context } function value() { return this.value } return context } console.log(computeAmount().lacs(15).thousands(20).value())
@PicardoPlayer
@PicardoPlayer Ай бұрын
Just watched half part so far, really an amazing interview. I think there some typo, He has 5 years of experience not 3.5 please correct
@engineerchirag
@engineerchirag Ай бұрын
Thanks for highlighting. It will rectified soon!
@himanshumishra3425
@himanshumishra3425 Ай бұрын
function compute(){ return { amount:0, lacs:function (params){ this.amount += params * 100000; return this; }, crore: function (params){ this.amount += params * 10000000; return this; }, thousand :function (params){ this.amount += params * 1000; return this }, value : function (){ return this.amount; } }; } is this approach wrong ?
@gunjanvyas695
@gunjanvyas695 Ай бұрын
Thank you so much! Approaching this as if it's my interview, below is my solution Q1 Solution: First approach which came to my mind. (passed!) const computeAmount = () => { let totalAmount = 0; let ans = { thousand : (a) => {totalAmount+=a*1000; return ans}, lacs : (a) => {totalAmount+=a*100000; return ans}, crore: (a) => {totalAmount+=a*1000000; return ans}, value:()=> totalAmount } return ans; } console.log(computeAmount().lacs(1).lacs(1).thousand(2).value()); Q2 Solution: "hello world, Hello" it wrong, need to improve on it on js! Q3 Solution: const input = document.createElement("input"); document.body.appendChild(input); const state = { value : "Hi" } function onChangeFunc(e){ console.log("change happened and value is", e.target.value); let value = e.target.value; state.value = value; } function model(state, input){ input.addEventListener("change", (e) => {onChangeFunc(e)} ); /* need to thing how to add state obj change logic */ } model(state, input); console.log(input.value);// Hi state.value = "dev" console.log(input.value)//dev input.value = "engineering chirag" input.dispatchEvent(new Event("change")); console.log(state.value); Have given my raw solutions Self Review: Need to improve more on JS this keyword, binding part and keep on improving. Thank you Chirag!
@arunms6701
@arunms6701 28 күн бұрын
Ans: 1st Problem function computeTheAmount() { let totalAmount = 0; const operations = { lacs(amount) { totalAmount += amount * 100000; return this }, crore(amount) { totalAmount += amount * 10000000; return this }, thounsands(amount) { totalAmount += amount * 1000; return this }, value() { return totalAmount } } return operations }
@sameekshagupta9518
@sameekshagupta9518 Ай бұрын
Can you also do some React interview questions as well ?
@engineerchirag
@engineerchirag Ай бұрын
Yes, upcoming interview is on ReactJs. Stay tuned 🚀
@sourabhsingh4449
@sourabhsingh4449 Ай бұрын
No need to do fancy thing in first problem. Returning this will work because instance of function is created when it is called first. I don't know what is the confusion here and it is complicating a simple problem function computeAmount() { totalAmount = 0; this.lacs = function(numLacs) { totalAmount += numLacs*100000 return this; } this.crore = function(numCrores) { totalAmount += numCrores*10000000 return this; } this.value = function() { return totalAmount; } return this; } console.log(computeAmount().lacs(15).crore(2).value());
@arpitgarg6459
@arpitgarg6459 Ай бұрын
My solution for first problem: function computeAmount(args){ let total; if(!args) total = 0 else{ total = args } //console.log('fi', this) return { thousand: (val) => { total = total + val*1000 return computeAmount(total) }, lacs: (val) => { total = total + val*100000 return computeAmount(total) }, crore: (val) => { total = total + val*10000000 return computeAmount(total) }, value: () => total } }
@vk19148
@vk19148 Ай бұрын
Please provide codes of all the Questions asked so that we can also try it before watching the solution.
@engineerchirag
@engineerchirag Ай бұрын
Noted. Thanks for idea 💡
@vk19148
@vk19148 Ай бұрын
@@engineerchirag ❤️❤️
@DevAditya
@DevAditya Ай бұрын
Which editor is it?
@engineerchirag
@engineerchirag Ай бұрын
DM me on linkedin
@FaizanPinjari
@FaizanPinjari Ай бұрын
Codility
Ай бұрын
Question 1 - function computeAmount(){ let totalAmount =0; const returnObj = { lacs:function(amount){ totalAmount+= amount*100000; return returnObj }, crore: function(amount){ totalAmount+= amount*10000000; return returnObj; }, thousands: function(amount){ totalAmount+= amount*1000; return returnObj }, value:()=> totalAmount } return returnObj }
@gagansuneja7029
@gagansuneja7029 28 күн бұрын
Does MS take all hiring rounds in a single day only?
@engineerchirag
@engineerchirag 28 күн бұрын
In hiring drives, mostly yes.
@karthiksundaram544
@karthiksundaram544 Ай бұрын
Hi chirag what is latest version of javascript
@engineerchirag
@engineerchirag Ай бұрын
ES14 - 2023
@karthiksundaram544
@karthiksundaram544 Ай бұрын
Hi chirag I guess best version of Java script is es6
@namanupadhyay2589
@namanupadhyay2589 Ай бұрын
Can we get a separate video for 1 st questions solution
@engineerchirag
@engineerchirag Ай бұрын
Noted. Will plan one.
@65muralikumarj
@65muralikumarj Ай бұрын
This Platform name???
@engineerchirag
@engineerchirag Ай бұрын
DM me
@abhijeet3844
@abhijeet3844 Ай бұрын
I appreciate the efforts. But Nobody uses pure venila javascript now a days. This is just to test the knowledge i guess. But You could have tested in a better way. This is for sure not for 3 years experienced candidate. As it was mock , agreed but real time if you ask most of them will fail to answer. felt bit difficult interview . All the best
@mdsalman7707
@mdsalman7707 Ай бұрын
Does actual interview also go like this?
@shubhanshusahuu
@shubhanshusahuu Ай бұрын
Obviously not
@engineerchirag
@engineerchirag Ай бұрын
Why so? Why did you feel like that?
@shubhanshusahuu
@shubhanshusahuu Ай бұрын
@@engineerchirag in actual interview, they don't support or give you hint like you gave
@sanketjaiswal76
@sanketjaiswal76 Ай бұрын
@@shubhanshusahuu it depends if they know u are on right track or not , if u showing them progress then they will help u sometime.
@engineerchirag
@engineerchirag Ай бұрын
Depends on the interviewer. The intent of the interview is not to reject, but to get the best out of the candidates 😊. Sometimes you have to ask for hints and suggestions from the interviewer 😄
@trialaccount2244
@trialaccount2244 Ай бұрын
From title I thought 3.5 years of experience 🙂
@engineerchirag
@engineerchirag Ай бұрын
Yeah, interview level is 3.5+ experience only. Will get it rectified soon!
@vk19148
@vk19148 Ай бұрын
In major frontend interviews these Expectations and Competencies are checked: 1. Code quality (modular and readable). 2. Working Code (separation of concerns, production ready code). 3. Code should easily accommodate new requirements with minimal changes. 4. Core business Logic. 5. Low Level Design (Extensibility). Sirf Code likha aur ek Acha Scalable Code likhne me jameen asmaan ka fark hota hai...How to write such code. So Please make a detailed video on it bhaiya.
@imkir4n
@imkir4n Ай бұрын
which is this online editor?
@engineerchirag
@engineerchirag Ай бұрын
DM me
@imkir4n
@imkir4n Ай бұрын
@@engineerchirag how?
@engineerchirag
@engineerchirag Ай бұрын
Linkedin
@FaizanPinjari
@FaizanPinjari Ай бұрын
Codility
@imkir4n
@imkir4n Ай бұрын
@@FaizanPinjari thank you bro
@premmokashe4896
@premmokashe4896 Ай бұрын
is this solution correct function CompoundAmount(){ return{ result:0, lacs:function(v){ this.result+=Number(`${v}00000`) return this }, core:function(val){ this.result+=Number(`${val}0000000`) return this }, thousand:function(th){ this.result+=Number(`${th}000`) return this }, values:function(){ return this.result } } } console.log(CompoundAmount().lacs(5).core(1).thousand(1).lacs(2).values())
@aqibmalik6313
@aqibmalik6313 Ай бұрын
did u run this
@nayansinghal5157
@nayansinghal5157 28 күн бұрын
QUES 1 :- function computeAmount() { const amount = { totalAmount: 0, lacs: function (number) { this.totalAmount += number * 100000; return this; }, crore: function (number) { this.totalAmount += number * 10000000; return this; }, thousand: function (number) { this.totalAmount += number * 1000; return this; }, value: function () { return this.totalAmount; }, }; return amount; } console.log(computeAmount().lacs(15).crore(5).crore(2).lacs(20).thousand(45).crore(7).value());
@shagunpreetsingh7105
@shagunpreetsingh7105 Ай бұрын
My Solution to first problem: function computeAmount(){ return { inLac: 0, inCrore: 0, inThousand: 0, thousand: function(value) { if(value) { this.inThousand = this.inThousand + Number(value) * 100000; } return this; }, lac: function(value) { if(value) { this.inLac = this.inLac + Number(value) * 100000; } return this; }, crore: function(value) { if(value) { this.inCrore = this.inCrore + Number(value) * 10000000; } return this; }, value: function(){ return (this.inCrore + this.inLac + this.inThousand).toLocaleString('hi'); } } } I am not sure why can't we simply return an object like above from computeAmount function how does factory design pattern help here @engineerchirag please help
@durgeshgupta6647
@durgeshgupta6647 Ай бұрын
hi, this is my solution function foo(){ let total=0 return { lacs(num){ total=total+num*100000 return this }, crore(num){ total=total+num*10000000 return this }, thousand(num){ total=total+num*1000 return this }, value(){ return total } } } console.log(foo().lacs(15).crore(5).crore(2).lacs(20).thousand(45).crore(7).value())
@AnkitTyagi-co8rs
@AnkitTyagi-co8rs Ай бұрын
class calculate { constructor(){ this.value=0; } thousand(amount){ this.value += amount *1000; return this; } lacs(amount){ this.value +=amount *100000; return this; } crore(amount){ this.value += amount *10000000; return this; } final(){ return this.value; } } const computeAmount = new calculate(); console.log(computeAmount.lacs(15).crore(5).crore(2).lacs(20).thousand(45).crore(7).final())
@mayurwankhade7447
@mayurwankhade7447 Ай бұрын
My solution to the first question after watching the video till 11.55, without googling function computeAmount() { return { totalAmount: 0, crore(crore) { this.totalAmount += crore * 10000000; return this; }, lacs(lacs) { this.totalAmount += lacs * 100000; return this; }, thousand(thousand) { this.totalAmount += thousand * 1000; return this; }, value() { return this.totalAmount; }, }; } console.log( computeAmount() .lacs(15) .crore(5) .crore(2) .lacs(20) .thousand(45) .crore(7) .value() );
@mayurwankhade7447
@mayurwankhade7447 Ай бұрын
Please let me know if it is right approach or not
@hassamsaeed4839
@hassamsaeed4839 Ай бұрын
A great interview. I itself learned alot of things ❤🫡
@engineerchirag
@engineerchirag Ай бұрын
Awesome ❤️
@childrenWithGod-xn2rb
@childrenWithGod-xn2rb 4 күн бұрын
obj.helloWorld() ,,,,, we will get => hello world hello in this way also
@karthiksundaram544
@karthiksundaram544 Ай бұрын
@engineerchirag
@engineerchirag Ай бұрын
❤️
Javascript Interview Questions
41:28
Piyush Garg
Рет қаралды 76 М.
Would you like a delicious big mooncake? #shorts#Mooncake #China #Chinesefood
00:30
DELETE TOXICITY = 5 LEGENDARY STARR DROPS!
02:20
Brawl Stars
Рет қаралды 15 МЛН
Solving Uber Frontend Interview Question | Interactive Shape
26:11
Devtools Tech
Рет қаралды 16 М.
2.5 Years Experienced Best JavaScript Interview
2:03:06
Anurag Singh ProCodrr
Рет қаралды 143 М.
Mock Technical Interview - Javascript Developer Entry Level
1:36:22
Tech with Nader
Рет қаралды 489 М.
REAL React Interview Questions - Live Coding
13:03
Peter Elbaum
Рет қаралды 65 М.
Would you like a delicious big mooncake? #shorts#Mooncake #China #Chinesefood
00:30