Focus on these things for front end role
1. Learn JavaScript in detail
2. Learn basics of web development like SSR, PWA, caching, browser apis optimization techniques.
3. Don't waste too much time on frameworks.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
Technical interview round with questions based on DSA and Javascript.



Do not allocate extra space for another array. You need to do this by modifying the given input array in place with O(1) extra memory.
'n' = 5, 'arr' = [1 2 2 2 3].
The new array will be [1 2 3].
So our answer is 3.
With STL, the question can be solved directly using sets. Set type variable in STL automatically removes duplicating element when we store the element in it.
Steps :
1. Make a set of the same type as that of the given array.
2. Loop over the array and insert each element in the set.
3. Traverse the set and print its elements.
Without STL, the question can be solved in constant extra space. Maintain a separate index for same array to store index of next unique element. Loop over the array and for every element check if it is same as its next adjacent element. If it is not, store it at the index used to store next unique element.
Difference between Primitive values and Object reference Types
1. The size of a primitive value is fixed, therefore, JavaScript stores the primitive value on the stack. On the other hand, the size of a reference value is dynamic so JavaScript stores the reference value on the heap.
2. When you assign a value to a variable, the JavaScript engine will determine whether the value is a primitive or reference value.
If the value is a primitive value, when you access the variable, you manipulate the actual value stored in that variable.
Unlike a primitive value, when you manipulate an object, you work on the reference of that object, rather than the actual object.
3. To determine the type of a primitive value you use the typeof operator. To find the type of a reference value, you use the instanceof operator.
Differences between ES6 class and ES5 function constructors
1. ES6 class constructors creates objects by adding function to their prototypes (Blueprint). ES5 function constructors also create objects along with inheritance property.
2. ES6 class constructors ensures that this keyword used by the developer is referring to the object being created by the developer. ES56 class constructors : Any function can be used as a function constructor and it primarily focuses on the creation of reusable object creation code.
3. ES6 class constructors syntax is similar to object creation in other object-oriented programming languages. ES5 class constructors syntax is unique and is not generally found in other object-oriented programming languages.
Technical interview round with questions based on Web Development and Javascript.
How can Page Load Time be optimised?
1. Optimize Image Size and Format
The images on your site can take up a lot of bandwidth, which affects the loading time of your page. It is not enough to downsize your website’s images in HTML because that only changes the appearance of the image and not its actual size. Use external picture editor tools to resize the images, such as Photoshop and set them to 72dpi.
2. Optimize Dependencies
Plugins: A site that requires plugins may slow your page loading speed. That said, always check to see if there is a better alternative to the plugin, such as using a CMS with built-in social plugins.
Tracking Scripts: While it is wise to keep tabs on your website’s traffic stats, it is not advisable to use multiple tracking softwares as this may hinder the page load time. If you are using a CMS such as WordPress, you should allow either WP stats to run scripts on your page or Google Analytics, but not both.
CMS Software: If you are using a CMS such as WordPress it is recommended to check frequently for updates in the software but do not load these on a live website. First carry out upgrades on a separate server to test them.
3. Avoid Redirects
Avoiding redirects increases serving speed. Some redirects are unavoidable and need to be in place but you must remember that this requires an additional HTTP which increases the page load time.
What are the benefits of optimizing time to first byte?
Optimizing TTFB benefits both users and content providers.
1. Users see an improved browsing experience since they have to spend less time waiting for a web service to generate a response.
2. Enterprises see higher customer engagement and retention as users are less likely to leave due to delays or slow loading times.
How can you optimize for CRP?
Improve page load speed by prioritizing which resources get loaded, controlling the order in which they are loaded, and reducing the file sizes of those resources. Performance tips include :
1) minimizing the number of critical resources by deferring their download, marking them as async, or eliminating them altogether,
2) optimizing the number of requests required along with the file size of each request.
3) optimizing the order in which critical resources are loaded by prioritizing the downloading critical assets, shorten the critical path length.
Technical interview round with questions based on Web Development technologies and javascript.
Polyfill for array filter method and forEach method
A piece of code that provide native support to the older browsers who does not have the support of modern functionalities of javascript is known as polyfill.
1. filter() : .filter() decide what kind of items do we want in the resulting array.
let newArray = arr.filter(callback(currentValue[, index[, array]]) {
// return element for newArray, if true
});
Polyfill :
Array.prototype.myFilter = function(callbackFn) {
var arr = [];
for (var i = 0; i < this.length; i++) {
if (callbackFn.call(this, this[i], i, this)) {
arr.push(this[i]);
}
}
return arr;
}
2. forEach() : The forEach() executes the callback function on each element of array.
const names = ["ali", "hamza", "jack"];
function consoleFunc(x) {
console.log(x);
}
names.forEach(consoleFunc);
Polyfill :
Array.prototype.ourForEach = function (callBack) {
for (let i = 0; i < this.length; i++) {
callBack(this[i]);
}
};
names.ourForEach(consoleFunc);
Difference between web workers and service workers
Service workers are a proxy between the browser and the network. By intercepting requests made by the document, service workers can redirect requests to a cache, enabling offline access.
Web workers are general-purpose scripts that enable us to offload processor-intensive work from the main thread.
What is Pub/Sub?
Publisher/Subscriber (Pub/Sub) allows services to communicate asynchronously with latencies on the order of 100 milliseconds. In order to ingest and distribute data, Pub/Sub is utilized in streaming analytics and data integration pipelines. It can be used as a queue to parallelize tasks or as messaging-oriented middleware for service interaction.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?