thảo luận Tất tần tật về Go (Golang)

PV Amazon thì nên tập trung vào Leadership principle (LP), mỗi principle nên có 1 câu chuyện để demonstrate theo Star format (Situation-Task-Action-Result). Amz nó coi trọng behaviour hơn, vì nó nghĩ là tech thì train đc, còn behaviour thì ko. Còn tech thì chỉ cần vững, ko quá thọt là đc.

Vào Google thì hên xui khá nhiều, vì tỷ lệ chọi quá cao, và Google khá bảo thủ trong việc tuyển người.

Em không hiểu sao bác vào Google rồi mà còn vào voz làm gì. Nhưng bác có thể giới thiệu em để vào phỏng vấn ở đó được không. Vì em sợ nộp hồ sơ nó không cho phỏng vấn. Em nghĩ thuật toán thì em cũng Master rồi.
 
Em không hiểu sao bác vào Google rồi mà còn vào voz làm gì. Nhưng bác có thể giới thiệu em để vào phỏng vấn ở đó được không. Vì em sợ nộp hồ sơ nó không cho phỏng vấn. Em nghĩ thuật toán thì em cũng Master rồi.
Chả lẽ vào Google làm thì chuyển sang Reddit, 4chan thay vì Voz à ;)
 
30, cựu tl Grab, h là Googler



Ko những xl, còn viết hẳn blog để xl :rolleyes: https://medium.com/@phamtrung/google-the-complete-interview-journey-dd87419bc229
Ae đọc thấy hay cho xin vài clap
hehe trước đó đã đọc qua bài viết của bác rồi, ko ngờ Googler cũng chơi voz :D Bài viết bác làm động lực cho e mỗi ngày cày LC, HR đó, với bài của anh này nữa https://medium.com/@XiaohanZeng/i-i...-and-luckily-got-five-job-offers-25178cf74e0f
 
Nhớ hồi 2014 lúc đó sốt nodejs, thế là bắt đầu tìm hiểu, làm được cái project nho nhỏ, tìm hiểu thêm thì được các chuyên gia khuyến cáo nên dùng golang để làm backend vì dự án phức tạp thì nodejs nó ì ạch. Thế là tìm hiểu go, lúc đó cộng đồng go chưa mạnh, thế là bỏ luôn, quay về cái máng .net quen thuộc
 
mới up lên go module cũng ngon mà bác :)
Ok, super, đã Google tìm thấy video dạy dùng Go Module của Code4func, làm theo và chạy ngon lành rồi
jmEBCky.gif
 
Nhớ hồi 2014 lúc đó sốt nodejs, thế là bắt đầu tìm hiểu, làm được cái project nho nhỏ, tìm hiểu thêm thì được các chuyên gia khuyến cáo nên dùng golang để làm backend vì dự án phức tạp thì nodejs nó ì ạch. Thế là tìm hiểu go, lúc đó cộng đồng go chưa mạnh, thế là bỏ luôn, quay về cái máng .net quen thuộc

Làm việc nên có chính kiến. Chứ cứ nghe lời thiên hạ thì cuối cùng "đẽo cày giữa đường"!
 
Nhớ hồi 2014 lúc đó sốt nodejs, thế là bắt đầu tìm hiểu, làm được cái project nho nhỏ, tìm hiểu thêm thì được các chuyên gia khuyến cáo nên dùng golang để làm backend vì dự án phức tạp thì nodejs nó ì ạch. Thế là tìm hiểu go, lúc đó cộng đồng go chưa mạnh, thế là bỏ luôn, quay về cái máng .net quen thuộc


Giờ sang cũng ổn mà bác, nhiều cty tuyển, cái package manager dùng go module cũng ngon hơn rồi
 
Giờ sang cũng ổn mà bác, nhiều cty tuyển, cái package manager dùng go module cũng ngon hơn rồi
Uh ngôn ngữ nào thì không bao giờ là muộn cả, khi mình đi học trong trường thì cũng học thuật giải, kiến trúc, chứ ba cái ngôn ngữ nó thay đổi theo thời gian á mà, tuỳ môi trường, hoàn cảnh mà mình lựa chọn ngôn ngữ hay công nghệ nào thôi
 
Rảnh rảnh type vài dòng cho các bác:

Ưu điểm của Go:
1. Code dễ đọc, dễ hiểu.
2. Go compiler mang lại nhiều thông tin có để giải quyết các vấn đề thay vì những output vô nghĩa.
3. Go code portable
4. Hỗ trợ concurrency, distributed programming.
5. Support Garbage collection. Được thiết kế khá nhanh chứ ko chậm chạp như GC của java.
6. Ko có preprocessor, tăng tốc độ khi compile chương trình.
7. Có thể build web app.
8. Bộ thư viện chuẩn của Go cung cấp nhiều library cho phép làm việc dễ dàng.
9. Sử dụng static linking by default. Ko cần quan tâm tới library, different version v.v...
10. Support Unicode
(cái này mình đọc sách nhiều nên biết thôi :sexy:)

Tất nhiên ko có ngôn ngữ nào là hoàn hảo, quan trọng là mục tiêu khi người ta xây dựng ngôn ngữ đó là gì.
Ví dụ như Go thì ko có OOP, có thể gọi là ko trực tiếp support OOP thì chính xác hơn.
Về tốc độ thì mình nghĩ Go vẫn ko thể nhanh hơn C dc, đơn giản là Unix viết bằng C.

Nhưng dù sao Go là một ngôn ngữ hiện đại, dễ học, dễ nắm bắt, dễ viết.

Để học syntax 1 ngôn ngữ thì rất dễ, python hay Java thì chắc ngồi vài hôm là xong. Nhưng để thực sự "đào sâu" vào ngôn ngữ đấy, thì mình nghĩ các bác cần nhiều thời gian hơn rất nhiều.
Có thể mất cả năm trời để hiểu rõ dc các cơ chế hoạt động phía dưới của ngôn ngữ, sử dụng một cách thông thạo, code đẹp đẽ tối ưu.
Do tính chất công việc hiện nay nên đa phần nhiều người ko đạt dc tới level đó và cũng ko coi việc đó là quan trọng, với mình đó là 1 điều đáng buồn.

Các bác chỉ có thể code 1 cách tối ưu khi các bác hiểu rõ ngôn ngữ đó hoạt động như thế nào.
Bác này nói chuẩn vkl. Học một ngôn ngữ thì dễ, hiểu rõ nó ntn mới khó.
Giống như mỗi ngôn ngữ có cuốn Cookbook vậy :)
 
5. Support Garbage collection. Được thiết kế khá nhanh chứ ko chậm chạp như GC của java.
Bảo GC của Java chậm là anh không chịu nghiên cứu rồi, trong đám GC thì thằng Java là thằng optimize cho đám GC nhất (không phải khi không nó có tận 6,7 cái gc, chưa kể đám jvm không chính thống như openj9 còn tự đẻ thêm để optimize cho memory ...).
Anh có thể đọc thêm bài này:
https://blog.plan99.net/modern-garbage-collection-911ef4f8bd8e
https://blog.plan99.net/modern-garbage-collection-part-2-1c88847abcfd
 
Bảo GC của Java chậm là anh không chịu nghiên cứu rồi, trong đám GC thì thằng Java là thằng optimize cho đám GC nhất (không phải khi không nó có tận 6,7 cái gc, chưa kể đám jvm không chính thống như openj9 còn tự đẻ thêm để optimize cho memory ...).
Anh có thể đọc thêm bài này:
https://blog.plan99.net/modern-garbage-collection-911ef4f8bd8e
https://blog.plan99.net/modern-garbage-collection-part-2-1c88847abcfd

okie bác, để mình tham khảo thêm
 
cái vụ gom rác này của Go thường thì thích còn cao thì méo thích. Đọc vài bài bên bọn Tây nó chán cái GC này củ Go. Chính nó làm thọt per của Go đi rất nhiều.
 
Back
Top