Prepare Interview

Mock Exams

Make Homepage

## Freshers / Beginner level questions & answers

### Ques 1. What is SciPy?

SciPy is an open-source library used for scientific and technical computing in Python. It builds on NumPy and provides additional functionality for optimization, integration, interpolation, eigenvalue problems, signal processing, and more.

### Ques 2. Explain the difference between SciPy and NumPy.

NumPy focuses on numerical operations and provides support for arrays, while SciPy builds on NumPy by offering additional functionality for scientific computing, including optimization, signal processing, and statistical functions.

### Ques 3. What is the purpose of `scipy.stats.linregress`?

`scipy.stats.linregress` is used for linear regression analysis. It calculates the slope, intercept, correlation coefficient, p-value, and standard error of the slope for a set of data.

### Ques 4. What is the purpose of `scipy.constants` module?

The `scipy.constants` module provides physical and mathematical constants. It includes constants like the speed of light, Planck's constant, and gravitational constant.

### Ques 5. Explain the role of `scipy.stats.mannwhitneyu`.

`scipy.stats.mannwhitneyu` is used for the Mann-Whitney U test, a nonparametric test for comparing two independent samples. It assesses whether the distributions of the two samples are equal.

## Intermediate / 1 to 5 years experienced level questions & answers

### Ques 6. What is the purpose of `scipy.optimize` module?

The `scipy.optimize` module provides optimization algorithms for various mathematical functions. It includes methods for unconstrained and constrained minimization, global optimization, root finding, and curve fitting.

### Ques 7. Explain the use of `scipy.stats` module.

The `scipy.stats` module contains statistical functions for probability distributions, statistical tests, and descriptive statistics. It is used for tasks such as hypothesis testing, probability density function estimation, and random variable generation.

### Ques 8. How does `scipy.interpolate` module work?

The `scipy.interpolate` module provides functions for interpolation, allowing the estimation of values between known data points. It supports various interpolation methods, including linear, polynomial, and spline interpolation.

### Ques 9. What is the purpose of the `scipy.linalg` module?

The `scipy.linalg` module provides linear algebra operations, including matrix factorization, eigenvalue problems, and solving linear systems. It is built on top of the BLAS and LAPACK libraries.

### Ques 10. Explain the role of `scipy.signal` module.

The `scipy.signal` module is used for signal processing tasks, such as filtering, convolution, and spectral analysis. It provides functions to work with both discrete and continuous signals.

### Ques 11. What is the purpose of `scipy.integrate` module?

The `scipy.integrate` module offers functions for numerical integration, including methods like quadrature and ODE solvers. It is used to compute definite and indefinite integrals of functions.

### Ques 12. How does the `scipy.cluster` module support clustering algorithms?

The `scipy.cluster` module includes hierarchical clustering, k-means, and vector quantization algorithms. It provides functions for clustering analysis and distance computation.

### Ques 13. What is the purpose of the `scipy.sparse` module?

The `scipy.sparse` module provides sparse matrix and linear algebra operations. It is useful for efficient storage and manipulation of large sparse matrices.

### Ques 14. Explain the use of `scipy.special` module.

The `scipy.special` module contains special functions, such as gamma, beta, and Bessel functions. These functions are commonly used in mathematical physics and engineering.

### Ques 15. What is the purpose of the `scipy.optimize.curve_fit` function?

`scipy.optimize.curve_fit` is used for curve fitting, where it fits a user-defined function to data using non-linear least squares optimization. It is commonly used in scientific data analysis.

### Ques 16. Explain the use of `scipy.spatial` module.

The `scipy.spatial` module provides spatial algorithms and data structures. It includes functions for distance computation, spatial indexing, and nearest-neighbor searches.

### Ques 17. How can you perform 2D interpolation using `scipy.interpolate.griddata`?

`scipy.interpolate.griddata` is used for 2D interpolation on an unstructured grid. It can interpolate values at specified points based on known values at other points.

### Ques 18. Explain the purpose of `scipy.optimize.minimize`.

`scipy.optimize.minimize` is a versatile function for minimizing scalar functions. It supports a variety of optimization algorithms, including constrained and unconstrained optimization.

### Ques 19. How does `scipy.io` module support input and output operations?

The `scipy.io` module provides functions for reading and writing data in various formats, including MATLAB files, NetCDF, and WAV files. It is used for input and output operations in scientific computing.

### Ques 20. What is the purpose of `scipy.fftpack` module?

The `scipy.fftpack` module provides functions for fast Fourier transforms (FFT). It is used for efficient computation of discrete Fourier transforms and related operations.

### Ques 21. Explain the purpose of `scipy.stats.multivariate_normal`.

`scipy.stats.multivariate_normal` represents a multivariate normal (Gaussian) random variable. It can be used to generate random samples and evaluate the probability density function.

### Ques 22. What is the purpose of `scipy.cluster.hierarchy`?

`scipy.cluster.hierarchy` provides functions for hierarchical clustering. It includes methods for agglomerative clustering and tools for visualizing dendrograms.

### Ques 23. Explain the use of `scipy.spatial.distance`.

`scipy.spatial.distance` provides functions for calculating distances between points or sets of points. It supports various distance metrics, such as Euclidean, Manhattan, and Hamming distances.

## Experienced / Expert level questions & answers

### Ques 24. How can you perform image processing using SciPy?

The `scipy.ndimage` module in SciPy is used for image processing tasks, including filtering, morphology, and measurements. It provides functions to work with n-dimensional images.

### Ques 25. Explain the difference between `scipy.linalg.eig` and `scipy.linalg.eigh`.

`scipy.linalg.eig` calculates eigenvalues and eigenvectors for a general matrix, while `scipy.linalg.eigh` is specific to Hermitian or real symmetric matrices, providing a more efficient algorithm for such cases.

### Ques 26. How can you solve ordinary differential equations (ODEs) using `scipy.integrate`?

The `scipy.integrate.solve_ivp` function is used to solve initial value problems for ordinary differential equations. It supports a variety of ODE solvers and can handle both stiff and non-stiff problems.

### Ques 27. Explain the use of `scipy.optimize.least_squares`.

`scipy.optimize.least_squares` is used for solving nonlinear least squares problems. It minimizes the sum of squared differences between observed and predicted values.

### Ques 28. How can you perform sparse matrix factorization using `scipy.sparse.linalg.svds`?

`scipy.sparse.linalg.svds` is used for sparse matrix factorization using the singular value decomposition (SVD) method. It is efficient for large, sparse matrices.

### Ques 29. What is the purpose of `scipy.optimize.root`?

`scipy.optimize.root` is used for finding the roots (zeros) of a system of nonlinear equations. It supports both univariate and multivariate root-finding.

### Ques 30. How does `scipy.spatial.Delaunay` work?

`scipy.spatial.Delaunay` is used for computing the Delaunay triangulation of a set of points in the plane. It is often used in applications like mesh generation and interpolation.