20 câu hỏi phỏng vấn hàng đầu về GO (Golang) (2025)

Dưới đây là những câu hỏi phỏng vấn Golang và câu trả lời dành cho cả người mới bắt đầu và ứng viên Lập trình viên GO có kinh nghiệm để có được công việc mơ ước của mình.


1) Giải thích GO là gì?

GO là ngôn ngữ lập trình mã nguồn mở giúp dễ dàng xây dựng phần mềm đơn giản, đáng tin cậy và hiệu quả. Các chương trình được xây dựng từ các gói, có các thuộc tính cho phép quản lý hiệu quả các phụ thuộc.

Tải xuống PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn lập trình GO


2) Cú pháp trong GO như thế nào?

Cú pháp trong GO được chỉ định bằng cách sử dụng Extended Backus-Naur Form (EBNF)

  • Sản xuất = tên_sản_xuất “=” [ Biểu thức ]
  • Biểu thức = Alternative { “l” Alternative }
  • Alternative = Thuật ngữ {Thuật ngữ}
  • Thuật ngữ = Tên_sản_xuất l mã thông báo [ “…” mã thông báo] l Nhóm l Tùy chọn l Lặp lại
  • Nhóm = “ ( “ Biểu thức”)”
  • Tùy chọn = “ [ “ Biểu thức “ ]”
  • Lặp lại = “ {“ Biểu thức “}”

3) Giải thích chuỗi ký tự là gì?

Một chuỗi ký tự biểu diễn một hằng số chuỗi thu được từ việc nối một chuỗi ký tự. Có hai dạng,

  • Chuỗi ký tự thô: Giá trị của chuỗi ký tự thô là chuỗi ký tự giữa các dấu ngoặc kép ''. Giá trị của chuỗi ký tự là chuỗi được tạo thành từ các ký tự không bị gián đoạn giữa các dấu ngoặc kép.
  • Chuỗi ký tự được diễn giải: Nó được biểu diễn giữa hai dấu ngoặc kép ““. Văn bản giữa hai dấu ngoặc kép không được chứa dòng mới, tạo thành giá trị của nghĩa đen.

4) Giải thích các gói trong chương trình Go?

Mỗi chương trình GO được tạo thành từ các gói. Chương trình bắt đầu chạy trong gói chủ yếu.  Chương trình này đang sử dụng các gói có đường dẫn nhập "Fmt"“toán học/rand”.


5) Giải thích không gian làm việc trong GO?

Bên trong không gian làm việc, mã GO phải được lưu giữ. Không gian làm việc là một hệ thống phân cấp thư mục với ba thư mục gốc.

  • src chứa các tệp nguồn GO được sắp xếp thành các gói
  • pkg chứa các đối tượng gói và
  • bin chứa các lệnh thực thi
Câu hỏi phỏng vấn Golang
Câu hỏi phỏng vấn Golang

6) Giải thích cách sử dụng các gói tùy chỉnh trong ngôn ngữ GO?

Nếu bạn đang tạo thư viện của mình thành một dự án go get –table riêng biệt và nếu thư viện của bạn dùng cho mục đích sử dụng nội bộ thì bạn có thể mã hóa như thế này

  • Trong thư mục dự án của bạn, hãy đặt thư mục có chứa các tệp thư viện
  • Tham khảo thư viện bằng cách sử dụng đường dẫn của nó liên quan đến gốc của không gian làm việc bao gồm dự án của bạn

Ví dụ, src/ myproject/ mylib/ mylib.go . . . main.go Bây giờ, trong main.go bạn có thể nhập myprojec/mylib.


7) Giải thích biến môi trường GOPATH là gì?

Biến môi trường GOPATH xác định vị trí của không gian làm việc. Đây là biến môi trường duy nhất bạn phải thiết lập khi phát triển mã Go.


8) Giải thích cách bạn có thể thực hiện thử nghiệm trong GO?

Nó có một khuôn khổ thử nghiệm nhẹ bao gồm đi thử nghiệm lệnh và thử nghiệm gói. Để viết một bài kiểm tra, bạn phải tạo một tệp có tên kết thúc bằng _testing. Go chứa các hàm có tên TestXXX với chữ ký func (t *testing.T). Khung kiểm tra chạy từng hàm như vậy.

Câu hỏi phỏng vấn lập trình GO
Câu hỏi phỏng vấn lập trình GO

9) Giải thích kiểu chuỗi là gì?

Kiểu chuỗi biểu diễn tập hợp các giá trị chuỗi và các giá trị chuỗi là chuỗi byte. Chuỗi sau khi được tạo ra không thể thay đổi.


10) Ưu điểm của GO là gì?

  • GO biên dịch rất nhanh
  • Go hỗ trợ đồng thời ở cấp độ ngôn ngữ
  • Các hàm là đối tượng hạng nhất trong GO
  • GO có thu gom rác
  • Chuỗi và Bản đồ được tích hợp vào ngôn ngữ

11) Liệt kê các hỗ trợ tích hợp trong GO?

Hỗ trợ tích hợp có sẵn trong GO bao gồm

  • Container: container/list, container/heap
  • Máy chủ web: net/http
  • Mã hóa: Crypto/md5, crypto/sha1
  • Nén: nén/gzip
  • Cơ sở dữ liệu: database/sql

12) Giải thích go routine trong GO là gì? Làm thế nào bạn có thể dừng go routine?

Một goroutine là một hàm có khả năng chạy đồng thời với các hàm khác. Để dừng goroutine, bạn truyền cho goroutine một kênh tín hiệu, kênh tín hiệu đó được sử dụng để đẩy giá trị vào khi bạn muốn goroutine dừng. Goroutine thăm dò kênh đó thường xuyên ngay khi phát hiện ra tín hiệu, nó sẽ thoát.

Quit : = make (chan bool)

go func ( ) {

for  {

select {

case <- quit:

return

default

// do other stuff

}

}

}()

// Do stuff

// Quit goroutine

Quit <- true

13) Giải thích cách viết chuỗi nhiều dòng trong GO?

Để viết chuỗi nhiều dòng trong GO, bạn có thể sử dụng chuỗi ký tự thô, trong đó chuỗi được phân cách bằng dấu ngoặc kép thay vì dấu ngoặc kép. ' dòng 1 dòng 2 dòng 3 '


14) Giải thích cách truy cập các đối số dòng lệnh được truyền vào chương trình GO?

Bạn có thể truy cập vào đối số dòng lệnh bằng cách sử dụng osBiến .Args. Ví dụ,

Package main

import (

"fmt"

"OS"

)

func main () {

fmt.Println(len(os.Args), os.Args)

}

15) Giải thích cách con trỏ được biểu diễn trong GO?

Trong GO, con trỏ được biểu diễn bằng ký tự * (dấu sao) theo sau là kiểu giá trị được lưu trữ.


16) Làm thế nào để định dạng một chuỗi mà không cần in?

Để định dạng một chuỗi mà không in ra, bạn phải sử dụng lệnh

return fmt.Sprintf ( "at %v, %s" , e.When , e.What )

17) Giải thích sự khác biệt giữa mảng trong GO và C như thế nào?

Trong GO Mảng hoạt động khác với hoạt động trong C

  • Mảng là các giá trị, việc gán một mảng cho một mảng khác sẽ sao chép tất cả các phần tử
  • Nếu bạn truyền một mảng cho một hàm, nó sẽ nhận được một bản sao của mảng, không phải một con trỏ tới nó
  • Kích thước của một mảng là một phần của kiểu của nó. Các kiểu [10] int và [20] int là khác biệt

18) Giải thích về giao diện GO?

Trong GO, giao diện là một cách để chỉ định hành vi của một đối tượng. Giao diện được tạo bằng cách sử dụng "kiểu" từ, theo sau là tên và từ khóa giao diện. Giao diện được chỉ định là hai thứ.

  • Một tập hợp các phương pháp
  • Nó cũng được gọi là loại

19) Giải thích Type assertion được sử dụng để làm gì và nó thực hiện như thế nào?

Chuyển đổi kiểu được sử dụng để chuyển đổi các kiểu không giống nhau trong GO. Một khẳng định kiểu lấy một giá trị giao diện và lấy từ đó một giá trị của kiểu rõ ràng đã chỉ định.


20) Trong ngôn ngữ GO, làm thế nào bạn có thể kiểm tra kiểu biến khi chạy?

Một loại chuyển đổi đặc biệt được dành riêng trong GO để kiểm tra kiểu biến khi chạy, chuyển đổi này được gọi là chuyển đổi kiểu. Ngoài ra, bạn có thể bật kiểu của giá trị giao diện bằng Chuyển đổi kiểu.

Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn

Chia sẻ

một bình luận

Bình luận

Chúng tôi sẽ không công khai email của bạn. Các ô đánh dấu * là bắt buộc *