상위 20개 GO(Golang) 인터뷰 질문(2024)

꿈의 직업을 얻기 위한 신입생과 숙련된 GO 프로그래머 후보자를 위한 Golang 인터뷰 질문과 답변은 다음과 같습니다.


1) GO가 무엇인지 설명해주세요.

GO는 간단하고 안정적이며 효율적인 소프트웨어를 쉽게 구축할 수 있는 오픈 소스 프로그래밍 언어입니다. 프로그램은 종속성을 효율적으로 관리할 수 있는 속성을 갖춘 패키지로 구성됩니다.

무료 PDF 다운로드: GO 프로그래밍 인터뷰 질문 및 답변


2) GO의 구문은 무엇입니까?

GO의 구문은 EBNF(Extended Backus-Naur Form)를 사용하여 지정됩니다.

  • 생산 = 생산_이름 “=” [ 식 ]
  • 표현 = 대안 { “l” 대안 }
  • 대안 = 용어 { 용어 }
  • 용어 = Production_name l 토큰 [ “…”token] l 그룹 l 옵션 l 반복
  • 그룹 = “ ( “ 표현식”)”
  • 옵션 = “ [ “ 표현식 “ ]”
  • 반복 = “{“ 표현식 “}”

3) 문자열 리터럴이 무엇인지 설명하세요.

문자열 리터럴은 일련의 문자를 연결하여 얻은 문자열 상수를 나타냅니다. 두 가지 형태가 있는데,

  • 원시 문자열 리터럴: 원시 문자열 리터럴의 값은 역따옴표 '' 사이의 문자 시퀀스입니다. 문자열 리터럴의 값은 따옴표 사이에 중단 없는 문자로 구성된 문자열입니다.
  • 해석된 문자열 리터럴: 큰따옴표 "" 사이에 표시됩니다. 개행 문자를 포함할 수 없는 큰따옴표 사이의 텍스트는 리터럴 값을 형성합니다.

4) Go 프로그램의 패키지를 설명해주세요.

모든 GO 프로그램은 패키지로 구성됩니다. 프로그램이 패키지에서 실행되기 시작합니다. 본관.  이 프로그램은 가져오기 경로가 있는 패키지를 사용하고 있습니다. “fmt”"수학/랜드".


5) GO의 작업 공간을 설명해주세요.

작업 공간 내부에는 GO 코드가 보관되어야 합니다. 작업공간은 루트에 세 개의 디렉터리가 있는 디렉터리 계층 구조입니다.

  • src에는 패키지로 구성된 GO 소스 파일이 포함되어 있습니다.
  • pkg에는 패키지 개체가 포함되어 있으며
  • bin에는 실행 가능한 명령이 포함되어 있습니다.
골랑 인터뷰 질문
골랑 인터뷰 질문

6) GO 언어에서 사용자 정의 패키지를 사용하는 방법을 설명해주세요.

라이브러리를 별도의 go get –table 프로젝트로 만들고 라이브러리가 내부용인 경우 다음과 같이 코딩할 수 있습니다.

  • 프로젝트 디렉토리 아래에 라이브러리 파일이 있는 디렉토리를 배치하세요.
  • 프로젝트를 구성하는 작업공간의 루트를 기준으로 한 경로를 사용하여 라이브러리를 참조합니다.

예를 들어 src/ myproject/ mylib/ mylib.go 입니다. . . main.go 이제 메인.고 너는 할 수 있었다. myprojec/mylib 가져오기.


7) GOPATH 환경변수가 무엇인지 설명해주세요.

GOPATH 환경 변수는 작업공간의 위치를 ​​결정합니다. Go 코드를 개발할 때 설정해야 하는 유일한 환경 변수입니다.


8) GO에서 어떻게 테스트할 수 있는지 설명해주세요.

경량 테스트 프레임워크는 다음과 같이 구성됩니다. 테스트하러 가다 명령 및 테스트 패키지. 테스트를 작성하려면 이름이 _testing으로 끝나는 파일을 만들어야 합니다. Go에는 서명 func(t *testing.T)가 있는 TestXXX라는 함수가 포함되어 있습니다. 테스트 프레임워크는 이러한 각 기능을 실행합니다.

GO 프로그래밍 인터뷰 질문
GO 프로그래밍 인터뷰 질문

9) 문자열 유형이 무엇인지 설명해주세요.

문자열 유형은 문자열 값 집합을 나타내고 문자열 값은 바이트 시퀀스입니다. 한번 생성된 문자열은 변경할 수 없습니다.


10) GO의 장점은 무엇인가요?

  • GO는 매우 빠르게 컴파일됩니다.
  • Go는 언어 수준에서 동시성을 지원합니다.
  • 함수는 GO의 일급 객체입니다.
  • GO에는 가비지 수집 기능이 있습니다.
  • 문자열과 맵은 언어에 내장되어 있습니다.

11) GO에 내장된 지원을 나열해 보세요.

GO에서 사용 가능한 내장 지원에는 다음이 포함됩니다.

  • 컨테이너: 컨테이너/목록, 컨테이너/힙
  • 웹 서버: net/http
  • 암호화: Crypto/md5 , crypto/sha1
  • 압축: 압축/gzip
  • 데이터베이스: 데이터베이스/sql

12) GO에서 바둑 루틴이 무엇인지 설명해주세요. 일상적인 일을 어떻게 멈출 수 있나요?

고루틴은 다른 기능과 동시에 실행될 수 있는 함수입니다. 고루틴을 중지하려면 고루틴에 신호 채널을 전달하고, 해당 신호 채널은 고루틴을 중지할 때 값을 푸시하는 데 사용됩니다. 고루틴은 신호를 감지하자마자 정기적으로 해당 채널을 폴링하고 종료됩니다.

Quit : = make (chan bool)

go func ( ) {

for  {

select {

case <- quit:

return

default

// do other stuff

}

}

}()

// Do stuff

// Quit goroutine

Quit <- true

13) GO에서 여러 줄 문자열을 작성하는 방법을 설명하세요.

GO에서 여러 줄 문자열을 작성하려면 원시 문자열 리터럴을 사용할 수 있습니다. 여기서 문자열은 큰따옴표가 아닌 역따옴표로 구분됩니다. '1행 2행 3'


14) GO 프로그램에 전달된 명령줄 인수에 액세스하는 방법을 설명해주세요.

다음을 사용하여 명령줄 인수에 액세스할 수 있습니다. os.Args 변수. 예를 들어,

Package main

import (

"fmt"

"OS"

)

func main () {

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

}

15) GO에서 포인터가 어떻게 표현되는지 설명해주세요.

GO에서 포인터는 *(별표) 문자 뒤에 저장된 값의 유형을 사용하여 표시됩니다.


16) 인쇄하지 않고 문자열의 형식을 어떻게 지정할 수 있습니까?

인쇄하지 않고 문자열 형식을 지정하려면 명령을 사용해야 합니다.

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

17) GO의 배열이 C와 어떻게 다르게 작동하는지 설명하세요.

GO 중 배열 C에서 작동하는 것과 다르게 작동합니다.

  • 배열은 값이므로 한 배열을 다른 배열에 할당하면 모든 요소가 복사됩니다.
  • 배열을 함수에 전달하면 배열에 대한 포인터가 아닌 배열의 복사본을 받습니다.
  • 배열의 크기는 해당 유형의 일부입니다. [10] int 및 [20] int 유형은 서로 다릅니다.

18) GO 인터페이스를 설명하세요.

GO에서 인터페이스는 객체의 동작을 지정하는 방법입니다. 인터페이스는 다음을 사용하여 생성됩니다. "유형" 단어 뒤에 이름과 키워드 인터페이스가 옵니다. 인터페이스는 두 가지로 지정됩니다.

  • 일련의 메소드
  • 유형이라고도 합니다.

19) Type Assertion이 어떤 용도로 사용되며 어떻게 작동하는지 설명하세요.

유형 변환은 GO에서 서로 다른 유형을 변환하는 데 사용됩니다. 유형 주장은 인터페이스 값을 취하고 그 값에서 지정된 명시적 유형의 값을 검색합니다.


20) GO 언어에서 런타임에 변수 유형을 어떻게 확인할 수 있습니까?

런타임에 변수 유형을 확인하기 위해 GO에는 특별한 유형의 스위치가 전용으로 사용되며, 이 스위치를 유형 스위치라고 합니다. 또한 Type Switch를 사용하여 인터페이스 값의 유형을 켤 수 있습니다.

이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.

공유

하나의 코멘트

  1. 화신 아난트 하랄 말한다 :

    GoLang 질문의 좋은 모음

댓글을 남겨주세요.

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *