10대 기술 면접 문제
![Top 10 Go Interview](https://s1.md5.ltd/image/2da492b6e5568fc300b27500e4ed02cc.png)
게시물Top 10 Technical Go Interview Questions이 Qvault에 처음 등장했다.
당신은 지금 새로운 Go 개발자 직위를 면접 보고 있습니까?그렇게 지도 모른다, 아마, 아마...면접관이든 피면접관이든 익숙해야 할 좋은 문제들을 복습합시다.
만약 바둑 면접에서 더욱 상호작용적인 복습 방식에 관심이 있다면 우리의 Interview Prep – Go 과정을 시험해 보세요.더 많은 문제를 발견하고 브라우저에서 코드를 실행하며 준비 정도에 대한 즉각적인 피드백을 얻을 수 있습니다.
Take the Interview Prep Course Free
문답
1.goroutine과 운영체제 라인 간의 차이는 무엇입니까?
2. Go에서 상수를 계산할 수 있습니까?
상수는 실행할 때 계산할 수 없으며, 그것들의 값은 컴파일할 때 이미 알고 있어야 한다.즉, 번역할 때 상수를 계산할 수 있으며, 통상적으로 다른 상수의 도수로 삼는다.예:
const hours = 7643
const minutes = hours * 60
3. Go 생태계는 패키지와 의존항 관리에서 무엇을 사용합니까?
최근까지 GOPATH 설정을 사용하면 개발자가 로컬 Go 작업공간에서 패키지를 가져올 수 있습니다.Go 1.13부터
go mod
설정을 사용하는 것이 가장 좋은 실천으로 여겨지는데 그 중에서 원본 코드는 GOPATH의 일부가 될 필요가 없다.Go는 NPM이나 Cargo와 같은 패키지 관리자를 사용하지 않습니다.Go 툴체인은 Git 소스 코드 관리 저장소에서 외부 의존 항목을 직접 가져오고
go get
특정 항목의 의존 항목을 관리하는 데 사용되는 go mod
등의 명령을 제공합니다.4. 당신은 어떻게 간단명료하게 Go의 두 변수의 값을 교환합니까?
var1, var2 = var2, var1
5. 당신은 바둑에서의 잘못된 처리 방법에 대해 어떤 선호가 있습니까?
Go의 오류는 단일
Error()
메서드를 실행하는 모든 유형을 오류로 간주할 수 있는 인터페이스 유형입니다.type error interface {
Error() string
}
함수가 오류가 발생할 수 있을 때마다, 예를 들어 네트워크 호출이나 형식 변환 등, 이 함수는 마지막 변수로 오류를 되돌려야 한다.호출자는 오류 값을 검사해야 합니다. nil
이외의 모든 값은 오류로 간주됩니다.익숙한 Go 개발자들은 if-else 체인이 아니라 특히 오류를 처리할 때 guard clauses 를 더 좋아할 것이다.적절하면 오류도 wrapped in a meaningful way 호출 창고로 전달되기 때문이다.
6. 바늘은 무엇입니까? 당신은 언제 사용합니까?
포인터 저장 값의 메모리 주소입니다.
&
동작 수를 가리키는 포인터를 생성합니다.*
참조 포인터 해제(기본 값 공개).7. 동기화 간의 차이를 설명한다.상호 배척과 동기화.RWMutex
한 번에 Goroutine만 접근할 수 있도록 일반적인 자물쇠 잠금 데이터입니다.
RWMutex(읽기/쓰기)는 읽기 및 쓰기를 위해 데이터를 잠글 수 있습니다.읽기를 잠그면 다른 카드 리더기도 데이터를 잠그고 액세스할 수 있습니다.쓰기를 잠글 때, 다른 카드 리더를 포함하여 데이터에 접근할 수 있는goroutine가 없습니다.
다음 코드를 고려하십시오.s1의 값은 얼마입니까?
primes := [6]int{2, 3, 5, 7, 11, 13}
s1 := primes[1:4]
s1
:현재 수조나 절편을 할 때 첫 번째 인덱스는 포함되고 마지막 인덱스는 독점적이다.콜론의 한쪽에서 색인을 생략하면 원래 슬라이스 가장자리까지 모든 값이 결과에 포함됩니다.
9. 통로와 지도는 동시 방문에 안전합니까?
채널은 병렬 접근에 안전하기 때문에 막히는 조작을 가지고 있다.비추는 것은 병렬 접근에 안전하지 않기 때문에 자물쇠 메커니즘(예를 들어 서로 밀어내는 자물쇠)이 있어야만 goroutine 사이에서 안전하게 사용할 수 있다.
10. 사용자 정의 구조의 슬라이스를 어떻게 정렬합니까?
구조 유형을 나타내는 슬라이스의 새로운 유형을 만들 것입니다.예:
type fruitSlice[]fruit
type car struct {
size int
color string
}
그리고 표준 라이브러리 sort.Interface 를 완성합니다.type Interface interface {
Len() int
Less(i, j int) bool
Swap(i, j int)
}
그리고 나는 sort.Sort 기능을 사용할 수 있다.sort.Sort(fruitSlice(cars))
읽어주셔서 감사합니다!
질문이나 의견이 있으면 트위터에서 팔로우하세요
Qvault Classroom에서 유사한 게임의 인코딩 과정을 배우다
Subscribe 우리의 시사 통신을 읽고 더 많은 교육 문장을 이해하다
Reference
이 문제에 관하여(10대 기술 면접 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/wagslane/top-10-technical-go-interview-questions-5ehn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)