Infosys câu hỏi phỏng vấn lập trình python

Infosys là một công ty mà những người phỏng vấn khá thân thiện và cố gắng làm cho bạn cảm thấy thoải mái. Trong blog này, chúng tôi sẽ thảo luận về rất nhiều câu hỏi phổ biến được hỏi trong vòng phỏng vấn cá nhân [kỹ thuật] cũng như chạm vào một số câu hỏi quan trọng của vòng nhân sự

Các câu hỏi nhân sự đóng vai trò quan trọng vì không như nhiều công ty khác, Infosys cũng lọc ít nhất 20-30% ứng viên sau vòng nhân sự cuối cùng. Tôi sẽ không nói rằng phỏng vấn Infosys là dễ dàng, nhưng nếu bạn đã thực hành đủ, bạn sẽ tự tin. Sự tự tin chắc chắn sẽ thể hiện trong cách trả lời – đó là thái độ mà người phỏng vấn sẽ tìm kiếm

Phỏng vấn kỹ thuật của Infosys không thuần túy là kỹ thuật. Chúng tập trung nhiều hơn vào các khía cạnh hành vi và tính cách tổng thể – ví dụ: cách bạn phản ứng với các tình huống khác nhau [giao tiếp], liệu bạn có thể suy nghĩ logic [lập luận], cách tiếp cận của bạn đối với các loại vấn đề khác nhau [giải quyết vấn đề] và cách xử lý

Một cuộc phỏng vấn điển hình sẽ bắt đầu bằng một cuộc trao đổi vui vẻ. Đây có thể là -

  • Hôm nay bạn thế nào hoặc ngày hôm nay của bạn thế nào?
  • Kể về bản thân bạn – những kinh nghiệm trước đây, bất kỳ dự án cụ thể nào, v.v…
  • Bạn trải qua những ngày cuối tuần như thế nào – sở thích của bạn, món ăn yêu thích, địa điểm vui chơi, v.v…
  • Ngôn ngữ lập trình yêu thích của bạn là gì?

Ngay cả khi bạn chọn một ngôn ngữ cụ thể làm ngôn ngữ yêu thích của mình, người phỏng vấn sẽ đặt câu hỏi xung quanh tất cả các ngôn ngữ bạn đã đề cập trong sơ yếu lý lịch của mình. Miễn là bạn rõ ràng với những điều cơ bản, bạn nên bắt đầu

Lưu ý rằng danh sách này được tổng hợp dựa trên nhiều cuộc phỏng vấn và tất cả những câu hỏi này không phải từ một cuộc phỏng vấn duy nhất. Dưới đây là một số câu hỏi phỏng vấn Infosys thường được hỏi -

phát triển phần mềm

Câu hỏi. SDLC là gì?

Câu trả lời. Vòng đời phát triển phần mềm [SDLC] là một quy trình từ đầu đến cuối xác định luồng phát triển của dự án từ giai đoạn yêu cầu đến giai đoạn bảo trì và hỗ trợ. Các giai đoạn trong SDLC là phân tích yêu cầu, lập kế hoạch, định nghĩa, thiết kế, phát triển, thử nghiệm, triển khai và hỗ trợ [bảo trì]

Đọc thêm. Các phương pháp SDLC khác nhau là gì?

Câu hỏi. Bạn có biết mô hình thác nước là gì?

Câu trả lời. Giống như thác nước từ trên xuống dưới, cách tiếp cận này tuân theo việc chia nhỏ các hoạt động của dự án thành các giai đoạn khác nhau. Khi một giai đoạn được hoàn thành, giai đoạn tiếp theo trong trình tự sẽ được theo sau. Mỗi giai đoạn phụ thuộc vào kết quả của giai đoạn trước

Câu hỏi. Mô hình SDLC phổ biến nhất là gì?

Câu trả lời. Một trong số đó là mô hình thác nước. Cái còn lại là AGILE hiện đang trở nên phổ biến hơn vì phương pháp lặp lại liên tục của nó ít bị lỗi hơn trong môi trường sản xuất

Người phỏng vấn có thể hỏi bạn về sự khác biệt giữa mô hình linh hoạt và mô hình thác nước, hãy tìm hiểu chúng tại đây

Câu hỏi C & C++

Câu hỏi. Giải thích một số khác biệt quan trọng giữa C & C++

Câu trả lời. Đối với cuộc phỏng vấn, bạn sẽ chỉ được kiểm tra kiến ​​​​thức cơ bản và những điểm khác biệt chính như -

CC++C là ngôn ngữ thủ tục, do đó không có khái niệm về lớp, đối tượng, kế thừa, đóng gói và đa hình. C++ là ngôn ngữ hướng đối tượng. Đa hình, đóng gói và kế thừa là bản chất của OOPS. Cấp phát bộ nhớ động được thực hiện thông qua các hàm malloc[] và calloc[] Cấp phát bộ nhớ được thực hiện bằng toán tử 'new'. Chức năng chính có thể được gọi từ bất kỳ chức năng nào khác. Chức năng chính không thể được gọi từ bất kỳ chức năng nào khác. Không nạp chồng toán tử và hàmDễ thực hiện nạp chồng hàm và nạp chồng toán tử trong C++Bạn không thể chạy mã C++ trong CBạn có thể chạy hầu hết mã C trong C++Đối với các hàm scanf và printf đầu vào và đầu ra được sử dụng tương ứng. Cin và cout tương ứng được sử dụng cho đầu vào và đầu ra. Các biến tham chiếu, hàm ảo và hàm bạn bè không được hỗ trợ Được hỗ trợ đầy đủ Xử lý ngoại lệ không được hỗ trợ Hỗ trợ đầy đủ cho xử lý ngoại lệ

Đối với sự tò mò của riêng bạn, bạn có thể đọc bài viết này để tìm hiểu sâu về sự khác biệt

Câu hỏi. Sự khác biệt giữa C ++ và Java là gì?

Câu trả lời. Cả hai đều dựa trên khái niệm OOPS. Sau đây là những khác biệt cơ bản -

Ngôn ngữ phụ thuộc nền tảng C++JAVAPBạn có thể viết mã và chạy mã ở bất cứ đâu. Java độc lập với nền tảng. Được sử dụng để lập trình hệ thống, ví dụ như hệ điều hành được viết bằng C++. Được sử dụng để lập trình ứng dụng, như ứng dụng di động và dựa trên web. Hỗ trợ cả truyền theo giá trị và truyền theo tham chiếuChỉ có thể truyền biến theo giá trịNhà phát triển có thể viết mã rõ ràng cho con trỏ. Java sử dụng con trỏ bên trong. Các nhà phát triển không thể viết chương trình tôi. e. có hỗ trợ hạn chế cho con trỏHỗ trợ nạp chồng toán tửKhông hỗ trợ nạp chồng toán tửHỗ trợ đa kế thừaKhông hỗ trợ đa kế thừa. [có thể đạt được thông qua một giao diện]

Khi được hỏi ý kiến ​​​​của bạn về cái nào tốt hơn, không có câu trả lời đúng hay sai. Bạn có thể nói những gì bạn thích về C++ hoặc Java hơn. Ví dụ: tôi không thích con trỏ và Java không có nó, vì vậy tôi có thể bỏ phiếu cho Java. Mặt khác, C++ hỗ trợ nạp chồng toán tử và chuyển qua tham chiếu trong khi Java thì không, vì vậy tôi có thể thích C++ hơn vì tính linh hoạt này. Câu hỏi này chỉ để kiểm tra xem bạn có thể phân tích và cân nhắc những ưu và nhược điểm của từng câu hỏi hay không.

Câu hỏi. Khái niệm OOPS là gì và nó được triển khai như thế nào trong C++?

Câu trả lời. OOPS [hoặc lập trình hướng đối tượng] là một phương pháp lập trình trong đó một chương trình ứng dụng được thiết kế coi mọi thứ là đối tượng. Nó làm cho lập trình dễ dàng. Các khái niệm oops chính là -

  • Lớp – chứa các phương thức và biến. Bạn có thể sử dụng một lớp bằng cách tạo các đối tượng của lớp
  • Tính kế thừa – khi có các thuộc tính chung có thể sử dụng lại, chúng ta có thể tạo lớp cha. Các lớp con sau đó có thể kế thừa các phương thức và biến chung của lớp cha. Một ví dụ rất phổ biến là lớp Động vật. Nếu Chó và Sư tử là hai loài động vật khác nhau, chúng có thể kế thừa các phương thức chung của Động vật như run[], eat[] hoặc makeSound[]. Âm thanh của Chó và Sư tử khác nhau nên mỗi con sẽ có cách thực hiện riêng
  • Đa hình – xác định lại cách thức hoạt động của một thứ nhất định bằng cách triển khai khác. Tính đa hình có thể đạt được bằng cách sử dụng quá tải và ghi đè
  • Trừu tượng hóa – đối với các chương trình thời gian thực phức tạp, không phải tất cả các chi tiết đều cần được hiển thị cho người dùng. Thông qua trừu tượng hóa, chúng ta có thể tách biệt chức năng của một đối tượng với cách thức hoạt động của đối tượng và chỉ hiển thị 'cái gì' cho người dùng
  • Đóng gói – đóng gói dựa trên khái niệm có dữ liệu và mã thành một đơn vị để ẩn hoạt động bên trong của mã đối với người dùng cuối. Ví dụ: một lớp đóng gói một số biến thành viên và phương thức có thể không truy cập được bên ngoài lớp

Là một phần mở rộng, người phỏng vấn có thể yêu cầu bạn mô tả từng hoặc bất kỳ trong số này. Bạn chỉ có thể giải thích khái niệm cơ bản

Câu hỏi. Struct là gì và chúng khác với Class như thế nào?

Câu trả lời. Cấu trúc là kiểu dữ liệu tùy chỉnh có chứa các kiểu dữ liệu khác. Ví dụ,

struct Student {
int rollNumber;
char section;
void getName[];
};
  • Các thành viên của một lớp được mặc định là riêng tư, để đặt một biến thành công khai, chúng ta cần thêm công cụ sửa đổi công khai. Trong một cấu trúc, theo mặc định, các thành viên là công khai và nếu chúng tôi cần bất kỳ thành viên riêng tư nào, chúng tôi phải sử dụng công cụ sửa đổi
  • Một lớp có thể được kế thừa nhưng các cấu trúc thì không thể

Câu hỏi. Con trỏ là gì?

Câu trả lời. Con trỏ là biến lưu địa chỉ của biến khác. Con trỏ cho phép truyền biến theo tham chiếu sử dụng địa chỉ. Ví dụ -

int a = 23;
int *ptr = &a;
cout 0]{
print[int marks, String name];
}else
print[String name];

Ghi đè hoặc đa hình động

Đây là trường hợp khi một lớp con mở rộng lớp cha. Trong thời gian chạy khi đối tượng được tạo, phương thức thích hợp sẽ được tạo. Bạn có thể lấy ví dụ về PizzaShop nổi tiếng –

class PizzaShop{
void prepareDough[]{
System.out.println[“Pizza shop fresh dough ready!”];
}
}
class IndianPizzaShop extends PizzaShop{
void prepareDough[]{
System.out.println[“Welcome to IndianPizza, fresh dough is ready!”];
}
}
In the main class,
public static void main[String[] args] {
PizzaShop pizza = new IndianPizzaShop[];
pizza.prepareDough[];
}

Đầu ra sẽ là - Chào mừng bạn đến với IndianPizza, bột tươi đã sẵn sàng

Điều này có nghĩa là phương thức chuẩn bị [] bị ghi đè bởi lớp con IndianPizzaShop khi chạy

Câu hỏi. Sự khác biệt giữa bộ nhớ ngăn xếp và bộ nhớ heap là gì?

Câu trả lời

đống –

  • JRE sử dụng nó để cấp phát bộ nhớ cho các đối tượng và các lớp JRE
  • Thu gom rác được thực hiện trên bộ nhớ heap
  • Các đối tượng được tạo trên heap có thể truy cập được trên toàn cầu

Cây rơm -

  • Tài liệu tham khảo ngắn hạn như luồng thực hiện hiện tại
  • Các tham chiếu đến các đối tượng heap được lưu trữ trong ngăn xếp
  • Khi một phương thức được gọi, một khối bộ nhớ mới được tạo. Khi phương thức được thực thi, khối được sử dụng bởi chương trình tiếp theo

Kích thước bộ nhớ ngăn xếp nhỏ hơn so với bộ nhớ heap

Câu hỏi. Viết chương trình kiểm tra một số có phải là số nguyên tố không

Câu trả lời. Truyền số giả sử int number = 47;

// set default to not prime
boolean flag = false;
// prime numbers are divisible only by themselves and 1
for[int i = 2; i 

Chủ Đề