📜 ⬆️ ⬇️

As I was interviewing for the position of Junior .Net Developer

Greetings to all. Today I will tell you how I was interviewing in Moscow for the position .Net Developer. Intensively preparing for the interviews for a month, spent all day sitting and watching the questions and trying to answer them, and also read books on C #. In the article I present interesting problems and questions that were asked to me in different companies in Moscow. I will say in advance that I got into the company in which I wanted. I passed 4 interviews in this company and finally got me! Many articles have been read in particular here and I hope that beginning Net developers will also read this article and ask everything in the comments.

Who is interested in the topic of interviewing, please under the cat!

When looking for a job, I used Head Hunter. There are a lot of vacancies out there detailing what firms want from a candidate. I decided to respond to almost all the vacancies of the C # developer, because the main thing for me was to get as many interviews as possible, gain experience, and also find interesting work in an interesting company during such interviews (looking ahead to say that I found a very interesting job) . Some companies (2 in total), in order to respond to the vacancy offered by them, wanted the candidate to solve the tasks they had proposed (I recall this when responding). In my opinion, this is even correct, because it shows that the company appreciates its time very much and wants the candidate to be able to solve simple tasks during the interview. Usually at such interviews ask narrower questions.

Practically in all companies there are several stages of interviews. At the first, hr is usually interviewed, at the second - the senior developer, at the third - the technical director. There were companies in which a senior developer, a Team Lead and a technical director came to the very first, which of course makes you nervous a little. Having passed 5 interviews, I found out such a thing: the more positively and more freely you behave at the interview, the easier and faster it passes.
')
And now I want to share with you what questions I was asked on face-to-face interviews. Go.

I did not expect so many questions on the databases , I had to quickly learn (or rather remember) the sql language. Here are the questions and tasks I was asked:

  1. What is a clustered and nonclustered index? When what should I use?
  2. What is Join? How is it different from Left Join, Right Join? Inner Join? Outer join?
  3. There are three tables: CUSTOMERS (ID, NAME, MANAGER_ID); MANAGERS (ID, NAME); ORDERS (ID, DATE, AMOUNT, CUSTOMER_ID). Write a request that will display the names of Customers and their SalesManagers who have made purchases totaling more than 10,000 from 01/01/2013.
  4. We make an electronic reference book. Are looking for:
    A) In which store to buy this book.
    B) In which stores to buy books by this author (s).
    B) Who is the author of the book.
    D) What books the author wrote.
    To draw a DB. Write B.'s request. (Do not forget to take into account that one book may have several authors)
  5. What are aggregate functions? Group By, Having? Give examples of their use.
  6. Table "PC" (id, cpu (MHz), memory (Mb), hdd (Gb))
    1) CPU clock speeds of those computers with a memory capacity of 3000 MB. Output: id, cpu, memory.
    2) The minimum amount of hard disk installed in the computer in the warehouse. Conclusion: hdd.
    3) The number of computers with the minimum amount of hard disk available in stock. Output: count, hdd.
  7. Given the following database structure in MS SQL: Departments (Id, Name), Employees (Id, DepartmentId, Name, Salary).

    It is necessary:

    • Write a request for obtaining the name of one employee who has the maximum salary in the company, and the name of his department.
    • Get a list of departments, the average salary in which more than $ 1000.
  8. Ado Net - what kind of technology? and how and when is it used?
  9. What is the Entity Framework? What approaches to database design know? Tell us about Code First.

Of course questions about the PLO.

  1. Name and explain the main paradigms of the PLO.
  2. What are the advantages of an object-oriented approach to programming before structured programming?
  3. List the flaws of the OO paradigm.
  4. What is early and late binding?
  5. List access modifiers and when are they used?

Questions about design patterns.

  1. Tell us about SOLID and examples of its use.
  2. What is the difference between the Strategy pattern and the Template Method pattern?
  3. Pattern Adapter and its application.
  4. Tell us about the pattern "Facade".

And of course, a huge number of questions on C #.

  1. using (SomeClass sc = new SomeClass ()) {}
    What does this design do?
  2. int i = 1;
    Console.WriteLine ("i = {0}", ++ i);
    What will this code output?
  3. Difference of class and structure? And what will happen if they are passed to the method as parameters?
  4. Task: there are zeros and ones in the array. For each zero, it is necessary to calculate how many units to the right of it and output the sum of such numbers. Make in one pass.
  5. The distinction of abstract class and interface? Is it possible to abandon interfaces and use only an abstract class, because we can simply specify method signatures in an abstract class?
  6. What is string interning?
  7. Tell about interface IEnumerable? Why is it used?
  8. When can we go through our own foreach collection? What to do and why? (Tell about duck typing)
  9. Difference between IEnumerable and IQueryable?
  10. How is the dictionary inside? How to deal with collisions?
  11. There is a normal user class. It should be used as a key in the Dictionary. What for this need to change (add) in the classroom?
  12. What is the algorithmic complexity for read and write operations for the Dictionary collection?
  13. What is the difference between the keywords "ref" and "out"?
  14. Tell us how try, catch, finally works? When is everyone called?
  15. What is the difference between the String and StringBuilder classes? Why do you need such a separation?
  16. What are the differences between significant and reference types? Why did you come up with such a separation? It was impossible to come up with either meaningful or reference?
  17. What is the difference between using Finalize and Dispose?
  18. What is managed code and CLR? Basic requirements for managed code?
  19. What is assembly manifest?
  20. What is Boxing and Unboxing?
  21. What is the essence of polymorphism?
  22. How does event differ from delegate?
  23. Can a class implement two interfaces that have the same methods declared? If so, how?
  24. What is an abstract class? In which case do you have to declare the class abstract?
  25. What is the difference between encapsulation and concealment?
  26. What are private and general builds?
  27. What is .Net Framework?
  28. LINQ lazy loading, eager loading What is the difference?
  29. Is it possible to prohibit inheritance from its own class?
  30. Pattern definition singleton.
  31. What are integration tests and unit tests?
  32. What is MVC, MVVM, WEB API?
  33. How can I assign values ​​to fields that are marked with the readonly keyword?
  34. When is the static class constructor called?
  35. What is the difference between constants and read-only fields?
  36. What is the difference between constants and read-only fields?
  37. The difference between asynchrony and parallelism?
  38. You have a website, you notice that it responds for a long time, how will you look for the reason?

Well, as without logical tasks:

  1. You are in an empty train. It is not even a train, but simply carriages, they are linked to each other. All the cars inside are the same, the doors to the exit from the car are closed, nothing can be seen through the windows. You can turn on and off the light in the car you are in, you can go to the next car, there you can also turn the light on or off. You know that the cars stand on the ring and themselves are linked into a ring, the first car is linked to the last, you can walk in a circle as much as you like. At the moment of the beginning of the solution of the problem in some cars the light is already on, in some it is off.

    Your task is to find out how many cars there are in the ring by controlling the light in the cars and moving through them.
  2. You have 100 coins of one ruble each. They all lie on the table. You also have two socks. You need to distribute all the coins in 2 socks, so that in one of them there are two times more coins than in the second, with:
    • not allowed to break them (they must remain intact);
    • you must use all 100 coins (you can not hide);
    • they are all the same (by weight, in appearance).


Also in one company they gave a ready user class. I needed to find logical and syntax errors. Unfortunately, I was not allowed to take this task with me after the interview and because of this I can not publish it, but I remember that it was possible to get to almost every line there!

In another company, they asked me to design a database for an application like Instagram. Then they asked to write the signature of the method “Upload”, which sends the photo to the server.

The question was also sounded that if the management would change “this”, then how would you “re-design” this base. Well, since I have no experience in designing, I had to think and generate ideas on the go, as it turned out, I had this interview).

Another company decided to give an interesting task. I think this is part of the task that is being solved within the company. We decided to check how others decide. Here’s how it sounds:

Implement a text analysis program. The input text is arbitrary and may be large. The number and content of metrics is determined independently. Algorithm Requirements: The program must be extensible to change the list of metrics. Scalable. What we pay attention to and what we analyze:

  1. What metrics are proposed by the candidate and their meaning - analytical thinking
  2. SOLID analysis of the proposed solution - design skills
  3. Which templates are used for scalability and extensibility - the architectural skills of the candidate. the reason for communicating to touch more deeply the question of design
  4. What syntactic language constructions are used and what technology is used - the use of sugar and means of simplifying the code
  5. Whether unit tests are written — what and how it tests, what frameworks and test styles it uses
  6. Comparison with cognitive services - knowledge of technology trends in real projects
  7. Time, complexity of the decision, activity of additional implementation issues - interest in solving the problem / getting an offer

I would also like to note the fact that in my resume I indicated that I was engaged in Olympiad programming and this had a very positive effect on the course of many interviews. I was asked to tell what it is. I was surprised that most interviewers did not know about such a movement in programming. Those who knew asked me to implement some sorting (bubble, inserts, qsort), tasks with programming programming. I believe that the algorithms and data structures are a huge plus in the programmer’s life and now, as it turned out, also in employment.

Also a positive fact was the teaching of informatics at the All-Russian Center for Scientific and Technical Information. They asked what it was to teach and whether it was difficult to explain complex things on the fingers.

It was a surprise to me that almost all companies (80%) in which I had an interview were invited to work. Maybe this feeling because of my low self-esteem? After passing the interviews, I can say with confidence that it is easy, and even easy and interesting. So friends, do not be afraid of interviews and large companies, be self-confident, believe in your strength and everything will be at 5!

For those who will be preparing or already preparing for interviews, below will list links that will help you (in my opinion) prepare for an interview for the position of Junior C # Developer, .Net Developer.

  1. Here you can find a lot of material on C #. And there is also a special section “Questions for an interview.” I recommend while passing the theoretical material, and then try the tests. Tests are located here (https://metanit.com/sharp/interview/).
  2. The site is aimed specifically at interviews in various areas of development, where you can also find C #. There are a lot of "sharp" and tricky questions.
  3. CLR via C #. Programming on the Microsoft .NET Framework 4.5 in C #. Jeffrey Richter. This is a classic .Net development book. It is very well written about the CLR, about assemblies and manifests. The book is written in a fairly simple language.
  4. Here
    SQL query language is pretty good and simple.
  5. You can also go through the SQL tutorial here. At the end there will be a test that is very easy to pass (again, this is a personal subjective opinion).
  6. Here are the most interesting logical problems with answers.
  7. Here are collected C # tasks, which are often at interviews.
  8. Here are collected C # tasks, which are often at interviews.
  9. Here are collected C # tasks, which are often at interviews.

Source: https://habr.com/ru/post/338102/


All Articles