Xebia is a trusted advisor in the modern era of digital transformation, serving hundreds of leading brands worldwide with end-to-end IT solutions. The company has experts specializing in technology consulting, software engineering, AI, digital products and platforms, data, cloud, intelligent automation, agile transformation, and industry digitization. In addition to providing high-quality digital consulting and state-of-the-art software development, Xebia has a host of standardized solutions that substantially reduce the time-to-market for businesses.
Xebia also offers a diverse portfolio of training courses to help support forward-thinking organizations as they look to upskill and educate their workforce to capitalize on the latest digital capabilities. The company has a strong presence across 16 countries with development centres across the US, Latin America, Western Europe, Poland, the Nordics, the Middle East, and Asia Pacific.
FullStack
For Strategic hiring API Design and Development, Knowledge of microservices , cloud services should be one of the required skills
Updated JD with the same
Required skills and Qualification:
Frontend:
Backend :
Good to have skills:
Soft Skills (required for Lead):
PRE-SCREENING QUESTIONS
Javascript
What is hoisting in javascript ?
Answer : Hoisting is a JavaScript mechanism where variables and function declarations are moved to the top of their containing scope during the compile phase. This means that variables declared with var and functions can be used before their declaration. However, variables declared with let and const are hoisted but not initialized.
Explain the difference between var, let, and const.
Answer : var is function-scoped and can be re-declared and updated. let is block-scoped and can be updated but not re-declared within the same scope. const is block-scoped, and cannot be updated or re-declared; it must be initialized during declaration.
What is event delegation in javascript and why it is useful?
Answer : Delegation of an event is the process where you delegate listening for events to a parent element. This allows you to listen for events that are fired on dynamically added elements or prevent the need for adding and removing event listeners when nodes are updated.
What are prototypes in JavaScript?
Answer : Prototypes are objects from which other objects inherit properties and methods. In JavaScript, every object has a prototype, which is a link to another object. This prototype chain enables inheritance, allowing objects to share methods and properties.
What are "higher-order functions" in JavaScript?
Answer : A higher-order function is a function that can take other functions as arguments or return them as output.
How would you optimize a JavaScript application for performance?
Answers : Techniques include minimizing DOM access, using efficient algorithms, reducing memory leaks, lazy loading resources, debouncing/throttling events, and using tools like Webpack for code splitting and minification.
Typescript
What are the advantages of using TypeScript over JavaScript?
Answer: TypeScript offers static typing, which helps catch errors early and improves code quality. It also provides enhanced tooling, such as autocompletion and refactoring support, and promotes better code maintainability.
Can you explain the concept of type inference in TypeScript?
Answer : Type inference is the process where TypeScript automatically determines the type of a variable based on its initial value. For example, if you assign a number to a variable, TypeScript infers its type as number.
Explain the concept of "type guards" in TypeScript and provide an example where they are useful ?
Answer: Type guards are mechanisms that help TypeScript narrow down the type of a variable within a specific scope, allowing for type-specific operations. They are used to ensure that the type of a variable is correctly identified before performing operations on it.
Types of Type Guards:
What access modifiers are supported by TypeScript?
Answer: There are three types of access modifiers in TypeScript: public, private, and protected.
public: All properties and methods are public by default. Public members of a class are visible and accessible from any location.
protected: Protected properties are accessible from within the same class and its subclass. For example, a variable or method with the protected keyword will be accessible from anywhere within its class and within a different class that extends the class containing the variable or method.
private: Private properties are only accessible from within the class the property or method is defined.
To use any of these access modifiers, add the public, protected, or public (if omitted, TypeScript will default to public) in front of the property or method.
What is the difference between extends and implements in TypeScript?
Answer: When a class extends another class, the child class will inherit all the properties and methods of the class it extends. You can override any of the existing properties and methods of its parent and add new ones.
When a class implements another class or interface, the class has to implement all the methods and properties from the implemented class or interface. The implements keyword acts as a contract that the class has to follow, and TypeScript will make sure that the class is of the same shape as the class or interface it implements.
Node.js
Explain Non-blocking with context to Node.js
Answer: Node.js uses an event-driven, non-blocking I/O model. This means that operations like file reading, database queries, and HTTP requests are handled asynchronously. When an operation completes, a callback function is executed to handle the result.
What is the purpose of the package.json file in a Node.js project?
Answer : The package.json file contains metadata about the project, such as its name, version, dependencies, and scripts. It is used to manage project dependencies and configure various aspects of the project.
What is the difference between require and import in Node.js?
Answer: require is used to import modules in CommonJS, the module system used in Node.js before ES6. import is used in ES6 modules, which is now supported in Node.js. ES6 modules are static and require a different file extension (.mjs or adding "type": "module" in package.json), while CommonJS modules are dynamic.
How does Node.js handle asynchronous code execution?
Node.js handles asynchronous code using callbacks, Promises, and async/await. These methods allow non-blocking execution, where the main thread continues to run while asynchronous operations are executed in the background.
GraphQL
What is GraphQL and how does it differ from REST?
Answer: GraphQL is a query language and runtime for APIs that allows clients to request exactly the data they need in a single query. It differs from REST by using a single endpoint and allowing flexible, nested queries, whereas REST uses multiple endpoints and may require multiple requests to fetch related data.
What is a GraphQL schema, and what role does it play in a GraphQL API?
Can you explain what resolvers are in GraphQL and their role in handling queries?
React
What is a component in React, and how do functional components differ from class components?
What are React hooks, and can you name a few commonly used ones?
How does the virtual DOM work in React?
Some useful links:
Xebia | Creating Digital Leaders.
https://www.linkedin.com/company/xebia/mycompany/
https://www.instagram.com/life_at_xebia/
http://www.youtube.com/XebiaIndia
Last updated on Aug 16, 2024
Shantou, Guangdong Province
·30+ days ago
30+ days ago
30+ days ago
30+ days ago
30+ days ago