next js interview questions and answers

By
1 year ago
interviewjobscareersFibonacci sequenceLCM of two numbersnext jsfullstack dev
  1. **How to Implement a Grid Without Using CSS Grid:**

    You can create a grid layout without using CSS Grid by utilizing CSS Flexbox. Here’s a simple example:

    <div class="container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> <!-- More items --> </div> \`\`\` ```css .container { display: flex; flex-wrap: wrap; } .item { flex: 1 1 20%; /* Adjust the 20% for the desired number of columns */ margin: 10px; /* Spacing between items */ } \`\`\`
  2. **Where to Place Analytics in Next.js:**

    You can place analytics scripts in Next.js either in a custom `_app.js` or `_document.js. For most analytics scripts, initializing them in _app.js` will suffice as it runs both client-side and server-side:

    // pages/_app.js import { useEffect } from 'react'; function MyApp({ Component, pageProps }) { useEffect(() => { // Initialize your analytics script here }, []); return <Component {...pageProps} />; } export default MyApp; \`\`\`
  3. **Where to Place Common Style in Next.js:**

    Common styles can be placed in the `styles/globals.css` file, which you can import in your _app.js. This ensures that the styles are applied globally across all your pages:

    // pages/_app.js import '../styles/globals.css'; function MyApp({ Component, pageProps }) { return <Component {...pageProps} />; } export default MyApp; \`\`\`
  4. **Advantages of Tailwind CSS:**

    • **Utility-First:** Tailwind uses utility classes that can be combined to build any design directly in your markup.

    • **Responsive Design:** Tailwind’s responsive modifiers make it easy to adjust styles based on breakpoints.

    • **Customizable:** It's highly customizable in tailwind.config.js, allowing you to define your design system.

    • **Performance:** Unused CSS is purged in production, leading to smaller, faster-loading stylesheets.

    • **Developer Experience:** Offers quick styling without leaving HTML, improving development speed.

  5. **How to Implement Infinite Loading Without Using Any Package in Next.js:**

    You can implement infinite loading by using JavaScript to detect when a user scrolls to the bottom of the page and then fetching more data. Here’s a simplified example:

    import { useState, useEffect } from 'react'; function InfiniteScrollComponent() { const [items, setItems] = useState([]); const [loading, setLoading] = useState(false); const [page, setPage] = useState(1); const fetchMoreItems = async () => { setLoading(true); const response = await fetch(`/api/items?page=${page}`); const newItems = await response.json(); setItems(prevItems => [...prevItems, ...newItems]); setPage(prevPage => prevPage + 1); setLoading(false); }; useEffect(() => { const handleScroll = () => { if (window.innerHeight + document.documentElement.scrollTop !== document.documentElement.offsetHeight || loading) return; fetchMoreItems(); }; window.addEventListener('scroll', handleScroll); return () => window.removeEventListener('scroll', handleScroll); }, [loading]); return ( <div> {items.map(item => <div key={item.id}>{item.content}</div>)} {loading && <p>Loading...</p>} </div> ); } export default InfiniteScrollComponent; \`\`\`

Here are JavaScript programs to find the Least Common Multiple (LCM) and to print the Fibonacci series:

1. Program to Find the Least Common Multiple (LCM)

The LCM of two numbers is the smallest number that is a multiple of both. To find the LCM of two numbers, you can use the relationship between LCM and GCD (Greatest Common Divisor): ( \text{LCM}(a, b) = \frac{|a \times b|}{\text{GCD}(a, b)} ).

Here’s a JavaScript function to calculate the LCM using this approach:

function gcd(a, b) { while (b !== 0) { let temp = b; b = a % b; a = temp; } return a; } function lcm(a, b) { return Math.abs(a * b) / gcd(a, b); } // Example usage: console.log(lcm(12, 15)); // Output: 60 console.log(lcm(9, 28)); // Output: 252

2. Program to Print the Fibonacci Series

The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones, usually starting with 0 and 1. Here’s a JavaScript function to generate the Fibonacci sequence up to a given number of terms:

function fibonacci(n) { let fib = [0, 1]; for (let i = 2; i < n; i++) { fib[i] = fib[i - 1] + fib[i - 2]; } return fib.slice(0, n); } // Example usage: console.log(fibonacci(10)); // Output: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

This function initializes an array with the first two Fibonacci numbers, then iteratively calculates the next numbers up to the desired count `n, adding each new number to the array. It returns the array truncated to n` elements, providing a view of the first `n` numbers in the Fibonacci sequence.

Both programs demonstrate fundamental principles in number theory and sequences, which are common in algorithmic challenges and coding interviews.

A

Written by Anonymous

Career insights & tech expertise

Life Beyond the Job Search

While you're building your career, don't forget about the practical aspects of life. Whether you're relocating for a new job or just need to declutter, Bharath Surplus can help you with all your life needs.

Find Roommates
Connect with potential roommates for your new city
Rent Flats
Find affordable accommodation near your workplace
Sell Old Books
Turn your study materials into extra income
Sell Vehicles
Sell your old vehicle or find a new one
Explore Life Solutions

Also explore Bharath Surplus for buying, selling, and auction opportunities