Wednesday, December 14

Node.js

 Node.js is a leading server-side platform for creating applications. With the growing demand, the job in this field is rapidly increasing. So, if you are planning to switch to this career, it is better to start by preparing for Node.js interview questions and answers.

Here are some of the most asked Node.js interview questions and answers for freshers, intermediate-level, and experienced professionals that you should know to ace your interview.

Node.js Interview Questions And Answers For Freshers

Let’s look at some Node.js interview questions and answers for freshers:

Q1: What is Node.js?

Ans: Node.js is an open-source library and cross-platform to run web applications. It is popular to create server-side web applications, perfect for data-intensive applications, as it uses an asynchronous and event-driven model. Besides this, it enables the developer to implement JavaScript code on any machine outside a browser.  

Q2: What is the purpose of Node.js?

Ans: Node.js is single-threaded by nature and used for non-blocking and event-driven servers. It is mainly used to develop:

  • Network applications
  • Real-time web applications
  • Distributed systems
  • General-purpose applications 

Q3: What are the benefits of using Node.js?

Ans: Here are the significant benefits of using Node.js: 

  • Node.js has been considered a full-stack JavaScript for serving server-side applications and clients. Hence, the companies do not need to hire separate back-end or front-end developers, saving money and time.  
  • Node.js is highly extensible, allowing you to customise and extend your Node.js further based on the requirements. You can also transmit data between the web server and the client with JSON. Besides this, it is also enabled with built-in APIs for developing HTTP, DNS, TCP etc., servers. 
  • Node.js is famous for offering excellent performance and simultaneously transferring ample data. It is one of the perfect choices for back-end development that decodes the JavaScript code using Google’s VS JavaScript engine. Its web development engine helps add the machine’s code directly, making it easier and faster to write and execute server code. 
  • Node.js was built for scalability, allowing numerous nodes to run simultaneously and interact with each other. It is superior to other web back-end development solutions, where the cross-platform runtime environment will promptly balance the workload.  
  • Node.js has a caching module feature that reduces the loading period and enables developers to execute the codes without any error. The caching module also helps the web application get a request easily and then transmit it to in-app memory, which enables the user to get results on web pages quickly without waiting for a long time.  

Q4: Define the term I/O?

Ans: The short form for input/output refers to the program’s interaction with the system’s disk and network. Some primary examples of I/O are reading/writing data from/to a disk, talking to databases, and making HTTP requests. These are slow compared to retrieving memory or working on the CPU. 

Q5: What is a callback in Node.js?

Ans: A callback is a function called when a task is completed. It permits other codes to run in the meantime and prevents further blocking. It is an asynchronous platform, one of the reasons why Node.js highly relies on callbacks. All the APIs created in the library are written to the support callbacks. 

Q6: What is NPM?

Ans:  NPM, which stands for Node Package Manager, is responsible for handling all packages and modules for Node.js. Its two significant functions are: 

  • It provides online storage for Node.js packages or modules, which can be searched on search.nodejs.org. 
  • It provides command-line usability to download Node.js packages and handles Node.js versions and dependencies. 

Q7: What is the difference between Angular and Node.js?

Ans: Here are the significant differences between Angular and Node.js: 

Angular Node.js
An open-source web application development framework A cross-platform run-time environment for applications
Written in typescript Written in C, C++, and JavaScript languages 
Used for creating single-page web applications for client-side Used for developing fast and scalable server-side networking applications 
Best for creating interactive and creative web applications Best for developing small-size applications  
Ideal for developing real-time applications Ideal in situations when something scalable and faster is required 

Q8: Explain Node.js web application architecture.

Ans: A web application in node.js is determined in four layers: 

Client Layer: This component includes web browsers, applications, or mobile browsers that can create an HTTP request to the web server.
Server Layer: This component includes the web server that can interrupt the request made by clients and pass responses to them. 

Data Layer: This component contains databases or any other data source. 

Business Layer: This component comprises the application server used by the webserver to do the needed processing. The business layer interacts with the data layer through databases or external programs in this layer. 

Q9: How many types of API functions are there in Node.js?

Ans:  There are two types of API functions in Node.js: 

  • Asynchronous, Non-blocking API functions: These API functions operate non-simultaneously, which means that Node.js will request data to the API, but it will not get intercepted till the data is obtained. Rather, it will move to the following API after appealing it, and a notification from a Node.js event will reply to the server for the previous API request.  Simply put, these functions enable working ahead while managing the requests. For example, Online forums, emails, etc.   
  • Synchronous, Blocking API functions: This is opposite to synchronous blocking functions, which means that it will make the calling system for a response. Accordingly, when a system uses these API functions, it will expect to obtain immediate data after the requests are made. These APIs are beneficial and used where the availability and connectivity are high, and low delay is expected.  Simply put, the application will appeal and wait for a response until the time value is returned. For example, Instant messaging, video meetings, etc. 

Q: What is the difference between front-end and back-end development?

Ans: Here are the significant difference between front-end and back-end development: 

Front-end Development Back-end Development  
The development of an application on the front end refers to the client side of an application.  The development of an application on the back end refers to the server side of an application. 
It is the part of web applications where users can see and interact. It includes everything behind the scenes that cannot be seen or interacted with. 
It includes everything that adds to the visual elements of a web application. It includes a web server that communicates with the database to assist the users’ requests. 
Some examples of front-end development technologies are CSS, HTML, JavaScript, AngularJS, Bootstrap, jQuery, and React.js. Some examples of back-end development technologies are Java, PHP, Python, C++, Node.js, etc.
Used for SEOUsed for backup 
Some front-end framework examples are AngularJS, React.js, jQuery, Sass, etc.Some back-end framework examples are Xpress, Django, Rails, Laravel, Spring, etc.

Node.js Interview Questions And Answers For Intermediate Level

Here are some  Node.js interview questions and answers for the intermediate-level candidate that you should know: 

Q1: How can you manage the packages in the Node.js project?

Ans: You can manage the packages in the Node.js project by utilising numerous package installers and their designed files accordingly. However, most of them use NPM or yarn, where both provide nearly all libraries of JavaScript along with other numerous features of controlling environment-specific configurations. You can use package.json and package-lock.json to support the libraries’ versions installed in one project.  

Q2: What is REPL in the context of Node.js?

Ans: The full form of REPL in Node.js context is Read, Eval, Print, and Loop. It shows a computer environment like a window console or Linux where any command can take place so the system can respond with an output. Here are the tasks performed by REPL: 

  • Read: Here, the reader’s input is read, dissected into JavaScript data structure and then stored in the memory. 
  • Eval: The data structure is received and evaluated. 
  • Print: The final result is printed. 
  • Loop: Loops the given command till the time CTRL+C is pressed twice. 

Q3: What are the challenges faced in Node.js?

Ans:  These are the major challenges faced in Node.js: 

  • Vast stack: Node.js does not offer any particular custom to develop an application. The frameworks used by Node.js are not opinionated and do not provide any specific guidelines for writing the codes. It is one of the reasons why each application needs a different and individual approach and experienced programmers for developing and maintaining the codes. 
  • Technical errors: Several problems in Node.js occur because of a lack of practice. The open-source libraries and frameworks are highly active and provide numerous ways to build applications. However, having many options can be a major problem for developers with zero experience, leading to application structure incompatibility.  
  • Scalability problems: Node.js is a single-threaded approach that makes the scaling a bit confusing. However, you might need to divide the complex applications with CPU/MEM-heavy computations into smaller microservices, which manage different operations. Hence, when you create a scalable Node.js application, you must keep it small. 
  • Poor documentation: Documentation is one of the essential parts of any IT project. It gives an insight into how applications work and informs the developers about the components, how they are relatable, and what their significant function is. Poor documentation will extend the developing time and make the entire process difficult to understand. It can create multiple problems when it comes to the implementation of new features and performance.  

Q4: What are the key features of Node.js?

Ans: Here are some key features of Node.js: 

  • Node.js is asynchronous and event-driven, which means that if Node receives a request from some Input/Output operation, it will execute and carry out that operation in the background along with the acceptance of other requests. Hence, it will not wait for the response to the previous requests. 
  • It is fast in executing code, as Node.js uses the V8 JavaScript Runtime engine used by Google Chrome. It has a covering over the JavaScript engine that makes the runtime engine faster; hence, the processing of requests in Node.js also becomes faster. 
  • Node.js operates a single-thread model for event looping. The response from these events might or might not reach the server instantly. However, it does not stop other operations from happening in the background and makes Node.js highly scalable. Traditional servers create limited threads to manage the requests, whereas Node.js creates a single thread which offers service to a larger number of requests.  
  • Node.js library uses JavaScript, which is also one of the essential components of Node.js for developers. Most developers know Javascript, its features, and its usage. Because of this, development in Node.js becomes easier for a developer who knows JavaScript.

Q5: What is callback hell in Node.js?

Ans:  Callback hell, also known as the Pyramid of Doom, is a kind of situation caused by nested callbacks, which are unreadable. Each callback takes statements that have been attained due to the previous callbacks. This structure makes the code hard to read and increases lesser maintainability. It is caused by the complex execution of the asynchronous argumentation. 

Q6: What is the meaning of a test pyramid?

Ans: A test pyramid is a graph that defines the ratio of unit tests, integration tests, and end-to-end tests needed to be documented for the project’s successful development. Here is the diagram: 

Q7: How many types of streams are available in Node.js?

Ans: These are the streams available in Node.js: 

  • Readable: This stream is used for reading operations.
  • Writable: This stream is used for writing operations. 
  • Duplex: This stream is used for both reading and writing operations.  
  • Transform: This stream is where output is computed according to the input. 

Q8: What is Reactor Pattern in Node.js?

Ans:  Reactor Pattern is a notion of non-blocking I/O operations. It is used to prevent the blocking of the Input/Output operations. It offers the developers a handle which is connected to each I/O operation. Once the I/O requests are generated, they are submitted to a demultiplexer, a notification interface that handles concurrency in non-blocking I/O mode. Besides this, it also collects every request as an event and puts it in a queue. 

Q9: What are LTS releases of Node.js?

Ans: LTS, also known as Long Term Support, is a version of Node.js that receives complex bug fixes and security and performance updates. Such versions are at least supported for 18 months, focusing on security and stability. The amendments in LTS versions are limited to bug fixes, npm, security upgrades, performance improvement, documentation updates, etc.  

Q10: What do you understand by middleware in Node.js?

Ans:  Middleware is a function that receives the Request and Response objects. When it comes to the request-response cycle in an application, these functions have access to multiple requests and response objects along with the next cycle function. Here are some of the most common middleware functions: 

  • Implement any type of code 
  • Appeal to the next middleware in the stack 
  • Update and amend the request and the response objects  
  • Complete the request-response process 

Node.js Interview Questions And Answers For Experienced Professionals

Q1: What are the different modules used in Node.js?

Ans: Modules are just like JavaScript libraries in Node.js applications, which have a set of functions. To add a module in a Node.js application, developers must use brackets comprising the module’s name. 

Node.js has various modules that provide the basic functionality required for developing a web application. Some of them are as follows: 

Core Modules Description 
HTTP: The HTTP module comprises classes, events, and methods to build a Node.js HTTP server.
Url: This module is used to add the methods for URL determining. 
Util: The util module adds utility functions needed in the applications, which is also essential for the developers.  
Fs: The fs module adds events, methods, and classes to handle the file I/O operations. 
Query string: The query string module adds the methods to work with a query string. 
Stream: This module is used to add the methods to manage streaming data. 
Zlib: This module is used to add methods to increase and decrease the size of the files used in an application. 

Q2: What is libuv in Node.js?

 Ans: libuv is a multi-platform support library of Node.js that provides asynchronous I/O support. It was initially built for Node.js, but with time, it is now used by other famous systems like Julia, Luvit, pyuv, etc. Its significant features include: 

  • Asynchronous file & file system operations 
  • Child processes
  • File system events 
  • Asynchronous TCP & UDP sockets
  • Full-featured event loop backed

Q3: Is cryptography supported in Node.js?

Ans: Yes, Node.js supports cryptography through a module known as Crypto. It provides various cryptographic functionalities like deciphering, ciphering, a set of wrappers for opening SSL’s hash HMAC, verifying functions, etc. 

Q4: Define why Express ‘app’ and ‘server’ must be kept separate.

Ans: The Express ‘app’ and ‘server’ must be kept separate because it reduces coupling and covers and conceptualises the inside logic of the application. Here are some other reasons: 

  • It permits testing the API in-process without making it necessary to perform the network calls 
  • Faster testing execution 
  • Finer separation concerns and cleaner code 
  • Permits deploying the same API under different and flexible network requirements 

Q5: Explain an Event Emitter in Node.js.

Ans: Event Emitter is a type of class in Node.js, including objects that can emit events. These objects comprise an eventEmitter.on() function, and through this, more than one function can be linked to named events emitted by the object. All the functions attached to a certain event are triggered synchronously when an EventEmitter object throws an event.  

Q6: Name some of the exit codes of Node.js.

Ans: Exist codes are a group of codes used to complete a specific procedure, including the global object. Here are some exit codes which are used in Node.js: 

  • Unused
  • Fatal Error
  • Uncaught fatal exception
  • Internal Exception handler Run-time failure
  • Internal JavaScript Evaluation Failure

Q7: What is the usage of buffer class in Node.js?

Ans: Buffer class in Node.js is used to manage raw binary data in an array of integers. However, it coincides with raw memory allocation situated outside the V8 heap. It is highly accessible and can be accessed in an application without adding a buffer module. Simply put, buffer class is used because JavaScript is not amicable with binary data. 

Q8: Explain Punycode in Node.js.

Ans: Punycode is an encoding syntax that converts a Unicode string of characters to a basic ASCII string of characters. It is imperative because hostnames can only understand ASCII characters/ In simple words, it is a character encoding technique defined by RFC 3492 that is mainly deliberated for use in Internationalised Domain Names. 

Q9: How is clustering used to enhance the performance of Node.js?

Ans: Clustering is used to overcome the issue of a single processor. When you start using clusters in a Node.js application, it creates various node.js processes. However, there is another parent process, which is called cluster manager. Its responsibility is to monitor the health of the individual instances of the application to ensure smooth running. 

Q10: How Node.js handles the child threads?

Ans:  Node.js is a single-threaded process, which does not reveal child threads thread management techniques. However, it is still used for some particular asynchronous I/O tasks that run in the background and do not usually implement any JS code or block the main event loop in the application. If you want to use the child threading technique in your application, you must add the ChildProcess module during development.

Examples and Writing Tips For Job Application Email

 In this global village, the internet has made almost everything easily accessible. People can now shop, work or apply for jobs from the comfort of their homes. Job hunting has never been faster and easier than it is today because many online job portals and social media platforms allow candidates to apply for jobs online easily. Jobseekers can easily send their resume directly to hiring managers or recruiters via email.

Email job application is one of the many ways to apply for employment. Hiring managers, who do not have automated application systems, usually encourage candidates to submit their job applications with their resumes attached through email. Depending on their resource or convenience, they usually ask candidates to send their job applications and resumes to their email addresses.

As recruiters receive many job applications in a day, you must ensure that yours stand out from the crowd to catch their attention. So, in this blog, let’s take a look at some email job application writing tips along with some examples that will help in drafting a compelling application.

How to Apply For Email Job Application

Many email job applications get rejected because candidates fail to follow instructions or make errors when sending in their applications. To ensure that your email gets opened and that your application is accepted, follow the steps below:

Stick To The Instruction

The open position will come with application instructions. Ensure that you follow it to the T. For instance, if they specifically ask for resumes and not cover letters, send only the resume. Moreover, they may ask you to use a specific subject line. Again, do as you are instructed.

Ensure Your Email Address Appears Professional

You cannot go around applying for jobs via email using email addresses such as “babygirl1990#email.com” or “badboy1998@email.com”. You need to have an email dedicated to your professional life. Preferably, the email address should have your full name. If you do not have a professional email account, we advise that you make one.

Update Your Resume

You can always expect employers to ask you to send your resume or cover letter. Ensure that your resume is up to date and that all relevant details are added.

Name Your Documents Correctly

Some employers will even specifically ask you to send your resume in doc or pdf format. After reading the instruction carefully, format your documents accordingly and give and rename them appropriately. For instance, for your resume, you can change the file name to “[your full name]_resume.”

Use A Formal Tone

In the world of work, you must always be professional. When writing the body of the email, ensure that you use formal language and stick to the points. The professionalism you are able to incorporate into your email goes a long way in determining if your application is accepted or not.

Attach Necessary Documents

As per instructions, attach all the necessary documents required, such as your resume or cover letter. Some may ask you to send in your experience letter or mark sheets as well.

Triple Check Before Sending The Email

Always proofread your email before sending it. This is something that every professional must make a habit of. Check to see if you miss out on any details or if there are any spelling or grammatical errors.

Tips for Writing An Effective Job Application Email

Follow the tips below to increase your chances of your email being reviewed, and your job application accepted:

  • Follow each and every instruction given for the job posting.
  • Do not use any emojis or slang.
  • Use a professional tone and be consistent.
  • Mention the unique skills you possess that are highlighted in JD.
  • If the advertisement does not specifically ask for a specific format, send your resume in a PDF format.
  • Make sure that your subject line is not more than 9 words.
  • Ensure your email reflects your keen interest and enthusiasm for the job.

Examples Of Job Application Emails

Take a look at the examples below to have a better understanding of what your email job application should look like.

Example 1: For Experienced Professionals

Subject: Job Application For Copywriter – Mina Alia

Dear Sir/Ma’am,

I am writing in response to your job posting for a Copywriter for your esteemed company. I am very interested and therefore submit my application for the position.

With my 3 years of experience and Bachelor’s degree in Journalism, which your JD stated as a requirement, I believe I am the perfect candidate for this position.

I have worked in an agency that catered to clients from different sectors. Just recently, I helped a footwear company in increasing its brand awareness by 30% within a short period of time. Moreover, I have also played an integral role in converting their ROI rate.

I have attached my resume here, wherein you will find detailed information on my roles, responsibilities, and achievements. If you need further information, please do not hesitate to reach me at the contact details I have provided below.

I thank you for your consideration and will eagerly await your response.

Sincerely,

Mina Alia
Mina.alia@mail.com
8788650978

Example 2: For Freshers

Subject: Job Application-Graphic Designer-Freya Kings-Job ID #54123

Dear Sir/Ma’am,

I am writing to you regarding the job advertisement you put up on contract-jobs.com for a Graphic Designer. After going through the job description, this position piqued my interest, and I decided to apply for it.

After receiving my Bachelor’s degree in Mass Communication in December of last year, I joined a certificate course for graphic designing, which I completed two months back. I have a keen eye for aesthetics and details and am also well-versed in Adobe Photoshop, Adobe Illustrator, Affinity Designer, CorelDRAW Graphics, and Sketch, among many others. I have also freelanced for top brands and helped them create social media posts, both static and animation.

Along with my resume and cover letter, I have also attached a document containing some of my work to this email. Please take a look and do let me know if you need anything else.

I look forward to hearing back from you soon. Thank you for considering me for this position.

Sincerely,

Freya Kings
freya.kings97@mail.com
8798560921

Structure Of An Email Job Application

Take a look at the structure of the email below, and the description of each part will tell you how you need to go about ensuring that you correctly fill each field and that your application is not rejected.

To: Here, you need to ensure that the email address is correct and that you Cc or Bcc the right people as per the instruction provided.

Subject line: Data shows that 64% of people open their emails based on the subject lines. So, your subject line should be to the point, short and not misleading. If you fail or miss to add a subject line to your email, the chances of it being marked as spam and moved to the recipient’s spam folder are high.

Salutation: The best bet is to go with “Dear Sir/Maam” or “Respected Sir/Madam.’ This showcases your professionalism and will increase your chance of making a good impression.

Body: From the first word till the very end, ensure that you maintain professionalism. Be consistent with the language and font you use. For any document, you may want to attach, mention it so towards the end of the body of the email.

Sign off: Ensure that you add your full name and contact information.

Wrapping Up 

The key takeaway from this article is that when applying for a job via email, you must always go through the JD and the instruction given there on how candidates should send their job application email. Remember to use the right subject line and email address provided. Avoid making the body of the email too lengthy, as it can be too much for the recipient. We hope this blog helps you in getting your email job application approved.

How Would You

 During a job interview, one of the first questions the interviewer will ask you is to describe yourself. The question may be framed as “How would you describe yourself?” Now, you need to understand that you are asked this question to see if you are the right candidate for the job. So, you need to know exactly what to say to convince the interviewer that your skills and experience align with the job role.

In this article, we share with you tips on how to describe yourself in job interviews, along with some examples for your reference.

Why Do Interviewers Ask “How Would You Describe Yourself?

Every interview question is designed for specific reasons. Therefore, there are a few reasons why interviewers ask you to describe yourself 

  1. Based on your answer, the interviewer will be able to understand what kind of person you are as a professional. For instance, they will be able to see if you are an ambitious person or someone who will be able to work with them for a long time.
  2. Moreover, your answer will give them insights into your personality and traits. This will help them in deciding if you will be able to fit in with their company culture. 

How to Answer “How Would You Describe Yourself?”

When it comes to job interviews, you need to be prepared to answer each and every interview question. The steps below will help you formulate the perfect answer to “How would you describe yourself?”

List Out Your Strengths

Your strengths may include your skills (both soft and hard), other personal traits or achievements. List down all your strengths on a piece of paper. For instance, you can include your teamwork or communication skills or how you never miss your deadlines. You can even ask your friends or family members to contribute to the list, as they may see something in you that you are unaware of. 

Go Through The Job Description

The JD will highlight all the skills, experience and qualifications that the hiring manager is looking for in candidates. Go through it thoroughly and see if any duties and responsibilities align with the skills that you have. For instance, if the JD says they are looking for someone who will be able to manage a team, you can pick out your leadership or management skills. 

Think About Past Experiences Or Accomplishments

Now that you have a list of your strength and know what kind of candidates the JD wants, the next thing you need to do is look back on your professional journey and think back on a time when a particular skill or capability has helped you in completing a task successfully. This will help you to give an example with the answer you want to give. For instance, if you want to say “I am a hardworking person,” you can attest to this statement by providing a short narrative of past experience. 

Ways to Describe Yourself In An Interview (Along with Examples)

Example 1: I am a people person

“I am a people person. Being able to get along with all kinds of people and empathise with them has always come naturally to me for as long as I can remember. This skill has helped me in resolving many customer complaints and queries in the past, which further increases customer satisfaction.”

Saying that you are a people person lets the interviewer know that you are outgoing, sociable and can connect with people easily. In the world of work, you need to have people skills as you will need to deal with many people, from your colleagues, and your clients to customers. If you are applying for a sales position or any related job profile, letting the interviewer know that you are a people person will increase your chances of acing your interview.

Example 2: I am a success-driven person

“I am a success-driven person. This drive has allowed me to be ambitious and work harder. I find it best to set goals for myself to ensure that I am on the right path. Even when it comes to my work, I challenge myself constantly to perform high-quality work before the assigned deadlines. Last year alone, I was named employee of the month many times because I was always able to exceed my daily targets while still ensuring customer satisfaction.”

For the success of the team as well as the company, the employees have to be ambitious and success-driven. So, employers know that when they hire someone who is driven, they will be able to get the job done right.

Example 3: I am a born leader

“I am a born leader. I was the school president in high school, house leader in higher secondary school and the department representative in college. People tend to come to me with their problems, and I enjoy listening to them and giving them advice. Even when I started my career two years back, I was promoted to a team within a year.”

People with leadership skills are able to easily motivate their team and increase productivity. So, be it for leadership or non-leadership role, hiring managers to look for candidates who have strong leadership qualities.

Example 4: I am an organised person

“I am an organised person, so I always ensure that I plan things carefully to get the work done right. Even in meetings, I never forget my pen and paper to take down notes of every important detail. My organisational skills have helped my team and me to be more efficient and productive.”

Hiring managers want candidates who are well-organised and detail-oriented. Such candidates can complete their tasks on time and submit the best quality work. Moreover, hiring managers can rest easy knowing that they can rely on such employees.

Example 5: I am a loyal and reliable person

“I am a loyal and reliable person. I consider my company as my own and my colleagues as my family members. So, I ensure that I do not let them down by doing my work properly and staying loyal to them. Even in my previous company, I was the one who had to oversee confidential agreements as my employers trust me and my work ethic.”

Employers want employees they can trust and who will be able to stick around for a long time. So, saying that you are loyal and reliable will win you more brownie points.

Conclusion:

It’s not always comfortable talking about yourself. However, when interviewers ask you to describe yourself, be confident when you answer it and try to cover it in no more than three minutes. 

Remember that your answer to “how would you describe yourself” will go a long way in determining if you are the right fit for the job and the company. So, as long as you follow the tips and reference the examples provided above, you should be able to formulate the right answer. 

Holiday Gift Guide: Unique Finds for Everyone on Your List

  Holiday Gift Guide is all about finding unique and thoughtful presents that cater to different tastes and needs. Whether you’re shopping ...