Browse
Employers / Recruiters

XUS_IN_Full Stack

xgs · 30+ days ago
XUS-IN
Negotiable
Full-time
Continue
By pressing the button above, you agree to our Terms and Privacy Policy, and agree to receive email job alerts. You can unsubscribe anytime.

About Xebia

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:

 

  • 5+ years of professional experience in full-stack development.

 

Frontend:

  • React.js  including state management (e.g., Redux, Context API).
  • Typescript
  • Apollo Client -  manage and execute GraphQL queries, mutations, and subscriptions
  • UI Libraries like Redux Toolkit, MobX,, Tanstack Query, Jotai etc...

 

Backend :

 

  • Node.js and experience with server-side frameworks like Express.js
  • GraphQL
    • In-depth knowledge of GraphQL and experience in designing and implementing GraphQL APIs.
    • Proficiency with  Apollo Server to define your GraphQL schema, resolve queries and mutations, and manage data sources
  • Database
    • Worked with database SQL compliant ORM or builders like KnexJS,  Drizzle ORM, TypeORM or Sequelize
    • Experience with databases such as MongoDB, PostgreSQL, or MySQL.
  • RESTful APIs
    • Solid understanding of RESTful API design and development.
  • Experience with testing frameworks like jest, Mocha or Cypress and practices .
  • Knowledgeable  in design and development of  microservices and related concepts and patterns
  • Familiarity with cloud services in AWS, or GCP.
  • Experience with version control systems like Git.
  • Understanding of potential security concerns and how to prevent common exploits.
  • Strong problem-solving skills and the ability to work independently as well as in a team environment. 

 

Good to have skills:

  • Frontend  
    • Experience in creating custom Hooks in React
    • Advanced concepts of React such as Refs & ForwardRefs\
    • Creating reusable components from a base component library
    • Configuring build tools like Vite or Webpack
    • Worked with package managers like PNPM, Yarn or any others
  • Backend:  
    • Leverage best security practices (OWASP compliance) to secure API
    • JWT Authentication and Role-based access control (RBAC)
  • Familiarity with modern DevOps practices, including CI/CD pipelines and containerization (Docker)
  • Experience in nginx configuration

Soft Skills (required for Lead):

  • Strong communication
  • Involve in discussions about Product and Engineering and explain technical challenges to the stakeholders
  • Support on epic planning for upcoming quarters and sprints

 

 

 

 

 

 

 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: 

  • typeof Guard: Checks the type of a primitive value. 
  • instanceof Guard: Checks if an object is an instance of a class. 
  • User-defined Guards: Functions that return a type predicate to assert a type. 

 
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? 

  • Answer: A GraphQL schema defines the types of data that can be queried and the relationships between those types. It acts as a contract between the client and server, ensuring that queries and mutations are validated and that the structure of data is well-defined. 

Can you explain what resolvers are in GraphQL and their role in handling queries? 

  • Answer: Resolvers are functions responsible for fetching or computing the data for a specific field in a GraphQL query. When a query is executed, the GraphQL server uses resolvers to resolve the data for each field requested. Resolvers connect the schema to the underlying data sources or business logic, providing the data requested by the client.  

React 

What is a component in React, and how do functional components differ from class components? 

  • Answer: A component in React is a reusable piece of UI that can be either a function (functional component) or a class (class component). Functional components are simpler and use hooks for state and lifecycle methods, while class components use methods like render and lifecycle methods such as componentDidMount. 

What are React hooks, and can you name a few commonly used ones? 

  • Answer: React hooks are functions that allow functional components to use state and other React features. Common hooks include useState for managing state, useEffect for side effects, and useContext for accessing context values. 

How does the virtual DOM work in React? 

  • Answer: The virtual DOM is an in-memory representation of the actual DOM. React uses it to efficiently update the UI by calculating the difference between the current virtual DOM and the new one and applying only the necessary changes to the real DOM. 

Last updated on Aug 16, 2024

See more

About the company

More jobs at xgs

Analyzing

Shantou, Guangdong Province

 · 

30+ days ago

 · 

30+ days ago

 · 

30+ days ago

 · 

30+ days ago

Developed by Blake and Linh in the US and Vietnam.
We're interested in hearing what you like and don't like! Live chat with our founder or join our Discord
Changelog
🚀 LaunchpadNov 27
Create a site and sell services based on your resume.
🔥 Job search dashboardNov 13
Revamped job search UI with a sortable grid, live filtering, bookmarks, and application tracking.
🫡 Cover letter instructionsSep 27
New Studio settings give you control over AI output.
✨ Cover Letter StudioAug 9
Automatically generate cover letters for any job.
🎯 Suggested filtersAug 6
Copilot suggests additional filters above the results.
⚡️ Quick applicationsAug 2
Apply to jobs using info from your resume. Initial coverage of ~200k jobs in Spain, Germany, Austria, Switzerland, France, and the Netherlands.
🧠 Job AnalysisJul 12
Have Copilot read job descriptions and extract out key info you want to know. Click "Analyze All" to try it out. Click on the Copilot's gear icon to customize the prompt.
© 2024 RemoteAmbitionAffiliate · Privacy · Terms · Sitemap · Status