Zalo viết backend bằng c++?

zalo
c++

(Trâu Gia Gia) #1

Mình xem tuyển dụng zalo thì thấy có job fresher backend c++. C++ dùng làm backend thì mình ít nghe tới. Ai ai làm zalo cho mình xin review về công nghệ này được không.


(Khang Việt) #2

chứ bạn nghĩ C++ làm front-end ?


(Tên Gì Cũng Được) #3

khi bạn đặt câu hỏi này thì bạn có biết backend là gì không?


(Trâu Gia Gia) #4

mình muốn biết rõ hơn việc dùng C++ viết backend của zalo là như nào chứ bạn hỏi lại mình câu ngớ ngẩn vậy??

Mình có search gg chúng nó nói c++ giờ không phù hợp cho backend thì mình mới lên đây hỏi, biết đâu có người zalo vào trả lời. Nếu không thích trả lời bạn có quyền ignore mà, đừng cmt kiểu vậy bạn ơi.


(Đào An) #5

Với WebAssembly bạn hoàn toàn có thể viết c++ để code front-end.

Bạn gõ c++ web framework vào google sẽ tìm đc khá nhiều kết quả mà. Nếu bạn đã học qua C++ thì sẽ thấy viết code cho nó rất cực , tuy nhiên hiệu năng thì ngon vô đối. Backend cũng là 1 chương trình máy tính thôi nên chạy càng nhanh thì càng tốt, càng tiết kiệm đc hạ tầng máy móc.


(明玉) #6

Không phù hợp à, làm server game mà không dùng C++ thì chắc chết.
Cái gì chạy như một phần mềm trong máy thì đều có thể làm web server được hết, đằng nào cũng phải gọi vào os API.
https://renenyffenegger.ch/notes/web/webserver/cpp/simple/index
Thậm chí, bạn viết web server bằng pascal cũng được, nếu bạn đủ giỏi. Có thể hơi khó tiêu hóa với bạn, trừ phi bạn phân biệt được ngôn ngữ lập trình và phần mềm máy tính.


(doanguyen) #8

Disclaimer: mình không làm việc cho zalo nên những dòng dưới chỉ là võ đoán.

Mình nhớ (nếu không lầm, b có thể nghi vấn) zalo những phiên bản đầu chạy trên mã nguồn mở viết bằng Java của tàu. Vậy có thể hiểu đơn giản zalo stack bao gồm Java ở backend, và phần frontend chắc bạn cũng rõ rồi.

Tuy nhiên sau nhiều năm thì m có thấy zalo thay đổi khá nhiều (voice, video calls,…) Vì vậy stack cũ có thể đã được thay đổi (hoặc mở rộng), mà 1 hệ thống lớn như Zalo thì chắc chắn sẽ phải sử dụng micro-service architecture, mà trong msa thì các services giao tiếp với nhau qua interface, sử dụng rest hoặc rpc, thế nên việc chọn ngôn ngữ gì phụ thuộc vào đặc trưng của ngôn ngữ đó, codebase bằng java cũ vẫn có thể được sử dụng, C++ có thể chỉ là 1 thử nghiệm.

Ngoài lý do đó thì có thể kể đến việc lập trình đa ngôn ngữ (polyglot programming) hiện giờ cũng rất phổ biến, C++ là 1 ngô ngữ high-performance nên có thể sử dụng để optimize 1 hàm, 1 class, tính năng…

Cũng có thể Zalo đang có 1 bộ cơ sở dữ liệu và muốn khai thác (sử dụng Machine Learning) nên muốn tuyển ltv C++ để optimize model của họ.

Dĩ nhiên còn nhiều trường hợp khác mà mình chưa nghĩ ra. Cơ mà cái khó đoán là sao lại tuyển internship?


(Trâu Gia Gia) #9

cảm ơn vì câu trả lời, còn về tại sao tuyển fresher thì mình không biết, thấy trên zalo carrer có tuyển.


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?