Skip to content

Commit 7eeda9b

Browse files
authored
Merge pull request #382 from Elidlt/patch-1
Update interview.md
2 parents 2846eda + 0717381 commit 7eeda9b

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

content/interview.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ weight: 8
4040
-گاهی اوقات یک تابع باید بداند که مقدار یک چیزی چیست، همچنین باید وجود یا عدم وجود آن را بداند. معمولا هنگام خواندن JSON از این استفاده می‌کنیم تا بدانیم فیلدی وجود دارد یا خیر.
4141
{{< /details >}}
4242

43-
{{< details title="5: زبان گولنگ از موارد زیر پشتیبانی نمی‌کند؟" open=false >}}
43+
{{< details title="5: زبان گولنگ از چه قابلیت های معروف در زبان های دیگر پشتیبانی نمی‌کند؟" open=false >}}
4444
- type inheritance
4545
- operator overloading
4646
- method overloading
@@ -49,11 +49,12 @@ weight: 8
4949
{{< /details >}}
5050

5151
{{< details title="6: برای گوروتین ها چه مواقعی از channel و چه مواقعی از mutex استفاده می شود؟" open=false >}}
52-
معمولاً در مواقعی که گوروتین ها نیاز به برقراری ارتباط با یکدیگر دارند، از channels استفاده می کنیم. درصورتی که قسمتی از کد ما(برای مثال مقدار متغیری را تغییر می دهیم) که در آن واحد فقط باید یک گوروتین به آن دسترسی داشته باشد، از یک قفل مانند mutext استفاده می کنیم.
52+
معمولاً در مواقعی که گوروتین ها نیاز به برقراری ارتباط با یکدیگر دارند، از channels استفاده می کنیم. درصورتی که قسمتی از کد ما(برای مثال مقدار متغیری را تغییر می دهیم) که در آن واحد فقط باید یک گوروتین به آن دسترسی داشته باشد، از یک قفل مانند mutex استفاده می کنیم.
5353
{{< /details >}}
5454

5555
{{< details title="7: تفاوت بین goroutine و thread را توضیح دهید." open=false >}}
56-
Goroutines سبک وزن هستند و دارای یک استک اولیه کوچک‌تر که به صورت پویا گسترش می‌یابد هستند، این در حالی است که threads استک ثابت دارند. Goroutines هم‌زمانی را در سطح زبان با استفاده از channelها مدیریت می‌کنند، در حالی که threads ممکن است نیاز به lockهای صریح داشته باشند. همچنین، سوئیچینگ بین goroutines کارایی بیشتری نسبت به thread switching دارد.
56+
Goroutines سبک وزن هستند و دارای یک استک اولیه کوچک‌تر که به صورت پویا گسترش می‌یابد هستند همچنین مدیریت آنها توسط Go runtime و در سطح کاربر رخ میدهد ، این در حالی است که threads استک ثابت دارند و مدیریت آنها در سطح کرنل و توسط سیستم عامل صورت میگیرد .
57+
Goroutines هم‌زمانی را در سطح زبان با استفاده از channelها مدیریت می‌کنند، در حالی که threads ممکن است نیاز به lockهای صریح داشته باشند. همچنین، سوئیچینگ بین goroutines کارایی بیشتری نسبت به thread switching دارد.
5758
{{< /details >}}
5859

5960
{{< details title="8: توضیح دهید که interface در Golang چیست و چگونه می‌تواند مورد استفاده قرار گیرد." open=false >}}
@@ -65,7 +66,8 @@ Goroutines سبک وزن هستند و دارای یک استک اولیه کو
6566
{{< /details >}}
6667

6768
{{< details title="10: در Golang چگونه می‌توانیم dependency management را انجام دهیم؟" open=false >}}
68-
Golang از Go Modules برای مدیریت وابستگی‌ها استفاده می‌کند که به توسعه دهندگان امکان می‌دهد پروژه‌ها را به صورت مستقل از GOPATH راحت‌تر مدیریت کنند. با استفاده از دستوراتی مانند `go mod init``go mod tidy`, و `go mod vendor` می‌توان وابستگی‌های لازم برای پروژه را مدیریت کرد.
69+
Golang از Go Modules برای مدیریت وابستگی‌ها استفاده می‌کند که به توسعه دهندگان امکان می‌دهد پروژه‌ها را به صورت مستقل از GOPATH راحت‌تر مدیریت کنند.
70+
با استفاده از دستوراتی مانند `go mod init`, `go mod tidy` , `go mod vendor` می‌توان وابستگی‌های لازم برای پروژه را مدیریت کرد.
6971
{{< /details >}}
7072

7173
{{< details title="11: چه زمانی یک channel در Golang باید با buffer مورد استفاده قرار گیرد؟" open=false >}}

0 commit comments

Comments
 (0)