Ngôn ngữ lập trình

Một người tốt nghiệp khoa học máy tính hỏi tôi: “Em có cuộc phỏng vấn với một công ti Mĩ tuần tới qua điện thoại. Họ nói rằng lập trình là một phần của cuộc phỏng vấn. Em nên dùng ngôn ngữ lập trình nào? Em đã học Java và C++ nhưg cảm thấy thoải mái hơn với C++. Em chuẩn bị cho việc này thế này? Xin thầy lời khuyên.”

 

Đáp: Ngôn ngữ lập trình họ sẽ yêu cầu bạn viết còn tuỳ vào công ti. Nếu bạn viết trong lí lịch của bạn là Java và C++, họ có thể yêu cầu bạn viết mã trong các ngôn ngữ này. Tuy nhiên, ngày nay phần lớn các công ti phần mềm Mĩ dùng Java và có thể là họ yêu cầu bạn viết mã trong Java. Vì C++ khá gần với Java, những người phỏng vấn bạn có thể không để ý liệu bạn viết mã trong C++ không. Lí do họ yêu cầu bạn viết mã là ở chỗ họ muốn xem phong cách của bạn, cách bạn cấu trúc và cách bạn tổ chức logic của bạn, không phải về ngôn ngữ lập trình. Nếu họ phỏng vấn bạn qua điện thoại, họ có thể cho bạn vấn đề nhỏ nào đó để viết mã rồi yêu cầu bạn gửi email mã của bạn cho họ. Họ sẽ kiểm điểm mã của bạn và yêu cầu bạn giải thích vài điều.

Tôi gợi ý rằng bạn kiểm điểm vài khác biệt cú pháp giữa C++ và Java, để cho nếu họ cứ đòi rằng bạn có thể viết mã trong Java thì bạn sẽ không có vấn đề gì. Tất nhiên nếu bạn cảm thấy thoải mái với C++, hỏi họ xem liệu bạn có thể làm nó trong C++ được không. Tôi không nghĩ họ quan tâm về điều đó.

 

—-English version—-

 

Programming language

A Computer Science graduate asked me: “I have an interview with an U.S software company next week via telephone. They said that programming is part of the interview. What programming language should I use? I have taken Java and C++ but feel more comfortable with C++. How do I prepare for this? Please advice.

Answer: The programming language that they will ask you to write is depending on the company. If you put on your resume Java and C++, they may ask you to code in those. However, today most U.S. software companies use Java and it is possible that they ask you to code in Java. Since C++ is pretty close to Java, your interviewers may not care if you code in C++. The reason they ask you to code is that they want to see your style, how do you structure and how you organize your logic, not the programming language. If they interview you by phone, they may give you some small problems to code then ask you to email your code to them. They will review your code and ask you to explain few things.

I suggest that you review few syntactical differences between C++ and Java, so if they insist that you can code in Java than you will not have any problem. Of course if you feel comfortable with C++, ask them if you can do it in C++. I do not think they care.