{"resource":{"title":"Measuring Image Performance with Core Web Vitals","isPremium":true,"requires":["premium.fsd"],"content":{"type":1,"body":"*Part 2 of 8 — Image Optimisation for the Modern Web*\r\n\r\nOptimisation without measurement is just guessing.\r\n\r\nA common mistake, even among experienced engineers, is making image changes \"because they should be faster\" without ever confirming the change actually helped. Sometimes it did not. Sometim...","isInternal":true},"isActive":true,"stats":{"views":18,"used":0,"likes":1},"published":true,"author":{"id":"3eh0kijZwMrHum8TkMqX","name":"Devtools Tech","username":"devtoolstech"},"resourceId":"RusX5eeoO7vGFaLdutG5","slug":"measuring-image-performance-with-core-web-vitals---rid---RusX5eeoO7vGFaLdutG5","createdAt":1779622989469,"showPaywall":true,"needsUpgrade":true},"currentUser":null,"isOwner":false,"recommendations":{"questions":[{"_id":"6830406f7556c04fdb68c7bf","content":{"languages":["react","html"],"difficulty":2},"tags":["ui","ux","bookmyshow","cinema hall structure","coding","devtools tech","frontend","coding architecture"],"slug":"cinema-hall-layout-structure---qid---iesvxlR6cUmOm8RhyatL","title":"Cinema Hall Layout Structure","questionId":"iesvxlR6cUmOm8RhyatL"},{"_id":"67e1105652fb7c2953889765","content":{"languages":["react","html"],"difficulty":2},"tags":["javascript","react","ui","coding","frontend","interview question","programming","vanilla","js","zepto"],"slug":"build-a-multi-step-form---qid---cvtstBKuUa6ZM7F8Hf5J","title":"Build a Multi Step Form","questionId":"cvtstBKuUa6ZM7F8Hf5J"},{"_id":"642be8c76577005718b848a8","content":{"languages":["html","react"],"difficulty":1},"tags":["frontend","ui","ux","progress bars","uber","frontend interview question","reactjs","devtools tech","system design","frontend masters","coding","javascript","advanced javascript"],"slug":"how-to-animate-multiple-progress-bars-in-a-sequence-or-uber-frontend-interview-question-or-react-js-or-javascript-or-html-or-css---qid---0pJDOORWvcix4ymghsB9","title":"How to animate multiple progress bars in a sequence? | Uber Frontend Interview Question | React.js | JavaScript | HTML | CSS","questionId":"0pJDOORWvcix4ymghsB9"},{"_id":"5e8cea5bb2cdcd5697fea7c0","content":{"difficulty":1,"languages":"javascript"},"tags":["node.js","javascript","frontend","code","array","comparison"],"title":"Array Comparison Output Question","questionId":"N3aKhi0sWZrjOKbw52d3","slug":"array-comparison-output-question---qid---N3aKhi0sWZrjOKbw52d3"},{"_id":"6015b6a04ddda40a64cf14f8","content":{"languages":["javascript","typescript"],"difficulty":4},"tags":["javascript","frontend","arrays","interview","recursion","prototype chain","advanced javascript","arrow functions"],"slug":"how-to-create-a-flat-version-of-a-deeply-nested-array-programming-interview-question---qid---l5Qx4LJ7glelCkIxQjXB","title":"How to create a flat version of a deeply nested array? [Programming Interview Question]","questionId":"l5Qx4LJ7glelCkIxQjXB"}],"resources":[{"_id":"636cd77320622762d08cfe22","content":{"difficulty":1,"domain":2,"type":1,"isInternal":true},"tags":["javascript","frontend","code","array","interview questions","array polyfills","advanced javascript","js interview questions","hackerrank","codedamn","coding","interview preparation"],"slug":"top-10-javascript-interview-questions-based-on-array-polyfills---rid---oNzRUjONl4YB5ixIEGrl","title":"Top 10 JavaScript Interview Questions based on Array Polyfills","resourceId":"oNzRUjONl4YB5ixIEGrl"},{"_id":"62680d051195627fe9f1bf1d","content":{"difficulty":1,"domain":2,"type":2,"isInternal":false},"tags":["javascript","frontend","closures","react","devtools tech","state"," react hooks","frontend masters","egghead","codedamn","frontend fundamentals","react basis"],"slug":"what-every-react-developer-should-know-or-part-1-or-stale-closures---rid---x3PZ2ib2HWoab1RdaT2H","title":"What Every React Developer Should Know! | Part 1 | Stale Closures","resourceId":"x3PZ2ib2HWoab1RdaT2H"},{"_id":"5f202d38cbec5f7ffc0c2fbc","content":{"difficulty":1,"domain":2,"type":2},"tags":["Slice"," Splice"," Javascript ","Interview Questions "],"slug":"slice-and-splice-oror-javascript-interview-questions-oror-puneet-ahuja---rid---vJoGsYEHYTzhQDdvQJ4O","title":"Slice and Splice || Javascript Interview Questions || Puneet Ahuja","resourceId":"vJoGsYEHYTzhQDdvQJ4O"},{"_id":"694fda82e4605484c24c29de","content":{"difficulty":4,"domain":1,"type":1,"isInternal":true,"languages":[]},"tags":["javascript","urls","ui","ux","frontend system design","questions","resources","tooling"],"slug":"urls-and-routing-in-frontend-applications---rid---n9dDAOaX0nmLvjnDn0uU","title":"URLs and Routing in Frontend Applications","resourceId":"n9dDAOaX0nmLvjnDn0uU"},{"_id":"5f202cd7cbec5f7ffc0c2fbb","content":{"difficulty":1,"domain":2,"type":1},"tags":["Cookies"," LocalStorage"," SessionStorage"," JavaScript"," Web Development"],"slug":"cookies-vs-localstorage-vs-sessionstorage---rid---1Hhlnl4V1QExC6zXn0wT","title":"Cookies Vs LocalStorage Vs SessionStorage","resourceId":"1Hhlnl4V1QExC6zXn0wT"}]}}