Job Summary
- Company: Suvya Web (Suvyaweb), Surat, Gujarat
- Role: .NET Developer (Backend)
- Experience: 2–3 years
- Job Location: Not disclosed (company headquarters: Surat, Gujarat)
- Employment Type: Full-time
- Notice Period: Immediate joiners preferred
- Salary: Not disclosed
- Source: Suvyaweb Careers page
- Posted on OneVisit: 25 September 2026 | Last checked: 13 October 2026
OneVisit is not the employer and is not involved in hiring. We only share the opening and how to apply. We never charge candidates any fee.
About Suvya Web
Suvya Web is an IT services company founded in 2005 and headquartered in Surat, Gujarat. It builds cloud, SaaS, web and mobile products and also provides dedicated developers to clients in India, the US, the UK, Europe and the UAE. Because a large part of its work is client projects, developers here usually work on more than one codebase and talk to client teams directly, so communication matters along with coding.
The company's careers page currently lists three .NET-related openings: Junior .NET Developer, Backend .NET Developer and Senior Full Stack Developer (React + Node.js/.NET). This post covers the 2–3 years band, which fits the Backend .NET Developer role.
What You Will Work On
- Building and maintaining web applications and REST APIs in C# with .NET Core and ASP.NET MVC.
- Writing SQL Server queries, stored procedures and indexes, and fixing slow queries.
- Using Entity Framework Core and LINQ for database access.
- Debugging production issues and refactoring older code.
- Working with front-end developers, QA and project leads in an agile setup.
Skills Required
- C#, .NET Framework and .NET Core
- ASP.NET MVC and ASP.NET Core Web API
- MS SQL Server: joins, stored procedures, indexing, query tuning
- Entity Framework Core / LINQ
- Basic HTML, CSS, JavaScript and Bootstrap
- Git; Azure DevOps is a plus
Who Should Apply
Good fit: you have spent 2–3 years on real .NET projects (not only training projects), you have built at least one Web API that is used by a front end or mobile app, and you can explain why a query was slow and how you fixed it.
Not the right fit yet: if you have only worked on Web Forms or desktop apps and never used .NET Core, spend a few weeks building a small .NET Core Web API with EF Core and JWT login first. If you are a fresher, look at the Junior .NET Developer opening on the same careers page instead.
Notice period: the company prefers immediate joiners. If you are serving a 60–90 day notice, mention your last working day clearly in your email so they can decide early.
10 .NET Interview Questions for 2–3 Years Experience
These are common questions for mid-level .NET roles, compiled by OneVisit. They are not provided by Suvya Web.
Q1. What is the difference between IEnumerable and IQueryable in Entity Framework Core?
IQueryable builds a query that EF Core translates into SQL, so filters such as Where(), OrderBy() and Take() run inside the database and only the matching rows come back. IEnumerable works on data that is already in memory. If you call ToList() or AsEnumerable() first and filter afterwards, EF Core loads the whole table into the application and filters it there. On a table with lakhs of rows, that one mistake can make an API many times slower, so filters should be applied while the query is still IQueryable.
Q2. Explain Transient, Scoped and Singleton service lifetimes.
Transient creates a new object every time it is requested. Scoped creates one object per HTTP request and shares it within that request; DbContext is registered as Scoped by default. Singleton creates one object for the whole life of the application. A common bug is injecting a Scoped service such as DbContext into a Singleton: the DbContext then lives forever and is shared across requests. ASP.NET Core throws an error for this in the Development environment.
Q3. What does async/await actually improve in a Web API?
When code awaits a database or HTTP call, the request thread goes back to the thread pool and can serve other requests until the result arrives. A single request does not become faster, but the server can handle many more requests at the same time. Calling .Result or .Wait() on a task blocks the thread and removes this benefit, and under load it can exhaust the thread pool.
Q4. How do you secure an ASP.NET Core Web API with JWT?
Register authentication with AddAuthentication().AddJwtBearer() and set the issuer, audience, signing key and token lifetime validation. Add app.UseAuthentication() before app.UseAuthorization() in Program.cs, then put [Authorize] on controllers or actions, and [Authorize(Roles = "Admin")] where roles are needed. Keep the signing key out of source code and give access tokens a short expiry.
Q5. What is middleware, and why does its order matter?
Middleware are components in the request pipeline. Each one can do work, then call the next one, or stop the request and return a response itself. They run in the order you add them in Program.cs, which is why UseExceptionHandler goes near the top and UseAuthentication must come before UseAuthorization. You can write custom middleware with app.Use() or a class that has an InvokeAsync method, for example to log the time taken by every request.
Q6. What is the difference between a Stored Procedure and a Function in SQL Server?
A Stored Procedure can run INSERT, UPDATE and DELETE statements, use transactions, and return multiple result sets or output parameters, but it cannot be used inside a SELECT statement. A Function must return a value, either a single scalar value or a table, and it can be used directly inside SELECT, WHERE or JOIN clauses. However, a function cannot change the data in permanent tables. In short, procedures are used for actions and functions for calculations and reusable lookups.
Q7. How do you manage database schema changes with EF Core Migrations?
After changing a model class, for example adding a new property, you run "dotnet ef migrations add AddPhoneToCandidate" (or Add-Migration in the Package Manager Console). This creates a migration file with an Up() method that applies the change and a Down() method that reverses it. "dotnet ef database update" (or Update-Database) applies it to the database. EF Core records every applied migration in the __EFMigrationsHistory table, so each environment knows exactly which changes it already has.
Q8. How does model validation work in an ASP.NET Core Web API?
You add Data Annotation attributes to the request model, such as [Required], [StringLength(100)], [EmailAddress] and [Range(18, 60)]. When the controller has the [ApiController] attribute, ASP.NET Core checks these rules before the action runs and automatically returns a 400 Bad Request with the list of field errors if the data is invalid. Without [ApiController], you check ModelState.IsValid yourself. For more complex rules, many teams use the FluentValidation library.
Q9. Give a practical example of Dependency Inversion from SOLID.
Suppose a controller sends emails. Instead of creating new SmtpEmailService() inside it, the controller asks for an IEmailService in its constructor, and Program.cs registers which class implements it. Tomorrow you can switch to SendGrid by changing one line of registration, and in unit tests you can pass a fake IEmailService. Interviewers usually want one real example like this rather than five memorised definitions.
Q10. How do you keep connection strings and secrets safe?
Normal settings go in appsettings.json, with environment-specific values in appsettings.Development.json or appsettings.Production.json. Passwords and API keys should never be committed to Git: use User Secrets on your own machine, and environment variables or Azure Key Vault on the server, since these override appsettings.json at runtime. Read settings into a class with IOptions<T> instead of reading strings all over the code.
How to Apply
- Send your resume to hr@suvyaweb.com, or apply through the Suvyaweb careers page.
- Use the subject line: Application for .NET Developer (2–3 Years) – Your Name.
- In the email, write 3–4 lines: total .NET experience, the .NET Core version you have used, one API or module you built, and your notice period.
- Keep your resume to two pages and list projects with the tech used (for example: ".NET 8 Web API, EF Core, SQL Server, JWT").
Safety note: genuine companies do not ask for money for interviews, training or joining. If anyone asks for a fee in the name of this job, do not pay and tell us.