Programmer interview. Are you ready?

Source: Internet
Author: User

Today I saw several interview-related articlesArticle. Interview is a lot of questions I recently think about, think about, and get something. Let's talk about what we think about from the interview perspective of a small department.

An interview is to evaluate the applicant's experience, abilities, and potential in a short period of time. I generally pay more attention to these aspects: (1) character, (2) experience, (3) problem solving capability, (4) technical expertise, and (5) potential. Generally, the interview time is 1 hour, with a written examination + A machine test + an interview.

Below is a commonly used C ++/C #ProgramInterview Questions.

Interview Questions are generally divided into 3 ~ 4. The first part is self-evaluation, the second part is computer programming, the third part is related to the field, and the fourth part is to examine the selection of capabilities and potentials.

(1) Self-evaluation

Self-evaluation generally has three questions:

(A) estimate your encoding capacity and draw √ on the appropriate options. (CodeNot counted)

(B) What have you used?Source codeAdministrative Tools? (If you have used only one or two times, you can select multiple times)

(C) What development tools/IDE are you used? (Optional)

Mainly examine personal experience and quality. If this part is left blank, the stuffing will be exposed later. We can also see a person's ability to solve problems. One of my friends had been tossing for a long time and asked: Why can't I find this √ in "Insert" (Word! (Even think: I won't copy it !). This kind of Buddy is obviously unable to solve the problem, and can be rejected directly. He may be wronged, but the probability of being wronged is very low.

In general, I think it is necessary to evaluate the encoding capacity of the language to be used and its related languages. For example, if I am a C # programmer, I usually evaluate the encoding capacity of Java, C #, SQL, and VB.net. Sometimes this guy doesn't know C #, and Java and SQL are quite familiar.

IDE and source code management tools evaluate a person's technical style. For example, if Dreamweaver is used to focus on pages, Visual Studio is used to focus on the background, and VI, emacs, and CVs are used in Linux, kdevelop is used, eclipse/CDT focuses on pragmatism.

(2) machine trial

Generally, it is a hello World question. This article mainly describes the basic OO design and coding style. The following is the original question:

C:

(A) write a message class that has the following members:

· A Message stores the message text;

· One method is show () to print the message text;

· A constructor initializes the message text based on the passed string.

· Other things you think you need

(B) Call the message instance and print "Hello World "..

C ++ version:

(A) Write a c ++ class message, which has the following members:

· A private variable named message in the string (or char *) type stores the message text;

· One method is show () to print the message text;

· A constructor initializes the message text based on the passed string.

(B) write a program and print "Hello World" by calling the message instance ". Compile the make file; Make; run the program.

The results are really varied and wonderful. Less than 50% of C ++ applicants can write functions within one hour, and C # is higher. I wrote the code within 10 minutes, and it was quite comfortable to write. It was only about 20%. Without a year of coding experience, I could not write very beautiful code.

I used to use a difficult question: there is a line segment on the interface, click near the online segment of the mouse, and writeAlgorithmTo determine whether a line segment is selected. It is found that the effect is not good, and the average person cannot make it within an hour.

(3) related fields

This is related to the position applied. If you hire an Internet programmer, you may tell him the differences between several types of I/O and analyze several packages. If you hire an ASP. NET web programmer, you will occasionally ask him to talk about the roles and functions of datatable, dataset, and dataadapter. If he says no and uses nhib.pdf or something, let him talk about it. This type of question is relatively open. This article mainly checks whether he has development experience and experience in related fields. Here, if there are no major mistakes, you can hire them. Of course, if there are many candidates, you need to compare the results of multiple choice questions.

(4) select questions

Selecting questions is very open. Basically, we want to examine the modes, algorithms, and libraries.

The C # version is as follows:

(A) Let's talk about your understanding of the facade model.

(B) Your understanding and usage of. NET Framework

(C) To generate a series: T (n) = T (n-1), N, T (n-1), T (0) = 1

For example, T (3) is 1, 2, 3, 1, 2, 1

T (4) is, 1

Is there any efficient algorithm without recursion?

The C ++ version is as follows:

(A) Let's talk about your understanding of the facade model.

(B) Talk about your understanding and experience in memory management of C ++ programs.

(C) Your understanding and usage of the C ++ standard library

(D) To generate a sequence: T (n) = T (n-1), N, T (n-1), T (0) = 1

For example, T (3) is 1, 2, 3, 1, 2, 1

T (4) is, 1

These problems are very open. Some people have come up with rational ideas about these aspects. If you don't know how to talk about it, you can induce him to talk about his experience, experience, and experience in this area. For example, if you want to talk about. NET Framework, you can ask common classes and talk about the framework structure. What do you think is useful, what is not useful, and how to choose, use, and expand third-party libraries?

"Proficient ". In general, 90% of proficient people in their resumes are bragging, and the probability of directly rejecting a grievance is only 10%. Even if a person is truly proficient, he is not the one most needed by the company. What enterprises need most is technical personnel who can solve problems and have ideas. The second is technical personnel who are proficient in a certain technology. 《. Net questions that should be taken into consideration in advance during interviews with senior developers. Half of them will not be used for interviews, and some may be included in the selection questions, some may be put in the field-related questions (Suppose I want to recruit developers in this area), some are used to check whether a person's quality is honest, and the weight is not very high. Of course, I am usually looking for general developers rather than senior developers. : P. However, for senior developers, I usually do not interview these questions. For architecture-oriented, I usually choose from enterprise application architecture model and without EJB, there is also the development process. A technical engineer can give him a problem to solve, or give him a piece of IL assembly code to show him, or ask him a very difficult problem in reality when he is online.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.