Gopher Academy
3.33K subscribers
917 photos
40 videos
279 files
1.97K links
🕸 Gopher Academy

🔷interview golang
https://github.com/mrbardia72/Go-Interview-Questions-And-Answers

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
#فرصت_شغلی

شرح شغل رو از لینک زیر بخونید 👇
https://lnkd.in/eQhfC7rp


🔰 @gopher_academy
3👍1
Forwarded from Bardia
package main

func f(vs ...interface{}) { print(len(vs)) } func main() { f() f(nil) f(nil...) }
Anonymous Quiz
40%
0 0 0
31%
0 1 0
25%
0 1 1
4%
1 1 0
👍1
What are the API architectural styles?

The diagram below shows the common API architectural styles in one picture.
🔹 1. REST
Proposed in 2000, REST is the most used style. It is often used between front-end clients and back-end services. It is compliant with 6 architectural constraints. The payload format can be JSON, XML, HTML, or plain text.

🔹 2. GraphQL
GraphQL was proposed in 2015 by Meta. It provides a schema and type system, suitable for complex systems where the relationships between entities are graph-like. For example, in the diagram below, GraphQL can retrieve user and order information in one call, while in REST this needs multiple calls.

GraphQL is not a replacement for REST. It can be built upon existing REST services.

🔹 3. Web socket
Web socket is a protocol that provides full-duplex communications over TCP. The clients establish web sockets to receive real-time updates from the back-end services. Unlike REST, which always “pulls” data, web socket enables data to be “pushed”.

🔹 4. Webhook
Webhooks are usually used by third-party asynchronous API calls. we use Stripe or Paypal for payment channels and register a webhook for payment results. When a third-party payment service is done, it notifies the payment service if the payment is successful or failed. Webhook calls are usually part of the system’s state machine. 

🔹 5. gRPC
Released in 2016, gRPC is used for communications among microservices. gRPC library handles encoding/decoding and data transmission.

🔹 6. SOAP
SOAP stands for Simple Object Access Protocol. Its payload is XML only, suitable for communications between internal systems. 


🔰 @gopher_academy
👍8
1677600752047.pdf
5.6 MB
12 Critical Strategies of System Design

- Design For Failure
- Redundancy And Fault Recovery
- Single-Version Software
- Multi-tenancy
- Quick Service Health Check
- Develop In The Full Environment
- Zero Trust in Underlying Components
- Do Not Build the Same Functionality in Multiple Components
- One Cluster Should Not Affect Another Cluster
- Allow (rare) Emergency Human Intervention.
- Keep Things Simple And Robust
- Enforce Admission Control At All Levels


🔰 @gopher_academy
🔥2🎉1
The diagram below shows the differences between a forward proxy and a reverse proxy.

A 𝐟𝐨𝐫𝐰𝐚𝐫𝐝 𝐩𝐫𝐨𝐱𝐲 is a server that sits between user devices and the internet.

A forward proxy is commonly used for: 
- Protect clients
- Avoid browsing restrictions
- Block access to certain content

A 𝐫𝐞𝐯𝐞𝐫𝐬𝐞 𝐩𝐫𝐨𝐱𝐲 is a server that accepts a request from the client, forwards the request to web servers, and returns the results to the client as if the proxy server had processed the request.

A reverse proxy is good for:
- Protect servers
- Load balancing
- Cache static contents
- Encrypt and decrypt SSL communications


🔰 @gopher_academy
👍2
How git commands work

🔰 @gopher_academy
👍5
1677498728649.pdf
13.9 MB
How do you gracefully shut down Pods without dropping traffic?

#kubernetes

🔰 @gopher_academy
🐳2
CICD Pipeline Explained

🔰 @gopher_academy
👍5
1677126905817.pdf
1.6 MB
𝐁𝐚𝐜𝐤-𝐄𝐧𝐝 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫 𝐑𝐨𝐚𝐝𝐦𝐚𝐩 💡

🔰 @gopher_academy
8👎2
– We don't write tests.
– Why?
– Because we don’t have time for it.

– Why?
– Because there is too much work and pressure.

– Why?
– Because we don’t move fast enough.

– Why?
– Because changing software has become difficult and risky.

– Why?
– Because we don’t write tests.

🔰 @gopher_academy
🤣16👍1

🔰 @gopher_academy
🤣9
Types Of Pages in SQL Server

1. Data pages - contain the actual data stored in the database.

2. Index pages - contain index data used to speed up query processing.

3. Allocation pages - keep track of the pages allocated to different database objects.

4. Global Allocation Map (GAM) pages - keep track of the free and used extents in a database.

5. Shared Global Allocation Map (SGAM) pages - keep track of mixed extents in a database.

6. Bulk Changed Map (BCM) pages - keep track of pages that have been modified by bulk operations, such as a large insert or update.

7. Differential Changed Map (DCM) pages - keep track of pages that have been modified since the last full backup

🔰 @gopher_academy
🔥2👍1🎉1
This media is not supported in your browser
VIEW IN TELEGRAM
😂Junior dev , senior dev 😂


🔰 @gopher_academy
🤣10
Check out this job at Canonical: https://www.linkedin.com/jobs/view/3441080629


🔰 @gopher_academy
👍3🔥1🐳1💊1
کتاب رایگان آنلاین برای یادگیری نکات برنامه نویسی سیستمی


github.com/angrave/SystemProgramming/wiki


🔰 @gopher_academy
4👍1
Go’s map hashes strings with CPU AES instructions

📡 https://github.com/golang/go/blob/master/src/runtime/asm_amd64.s#L955

〽️ if your processor has them, which it probably does.
cat /proc/cpuinfo | egrep 'aes|sse2|sse4_1' will tell you.


🔰 @gopher_academy
👍2
Go: Slice search vs map lookup

https://darkcoding.net/software/go-slice-search-vs-map-lookup/

🔰 @gopher_academy
👍5
MVC MVP MVVM VIPER pattern

🔰 @gopher_academy
👍51🔥1🏆1