thảo luận Hội Dev 35 đi phỏng vấn tìm việc.

  • Người tạo chủ đề Người tạo chủ đề Kaiser2013
  • Ngày bắt đầu Ngày bắt đầu
Không được đâu fen ạ, bảng này ảo vì JSON trả về {"message":"Hello, World!"}
Thực tế sẽ giảm 1/2
Nhưng Rust Backend như ActiveWeb cực kỳ ok
Tất nhiên là request đơn giản như plain text so với các request cần phải read/write DB thì performance sẽ khác nhau.

Còn về benchmark thì có bọn Techempower nó cũng viết open-source benchmark cho hầu hết các web frameworks https://github.com/TechEmpower/FrameworkBenchmarks

Nói về performance thì đứng top đầu toàn C/C++ với Rust framework, tôi thấy cũng éo có gì phải lăn tăn cả.

Product của anh cần performance thì xài framework có lợi thế về performance thôi, fen sẽ ko cần phải apply đủ các thể loại tech load balancer, caching, server tuning ect..

Nó giống như việc dev game triple-A bằng C++ so với bằng Javascript vậy
 
Thấy anh zai khoe tới khoe lui con framework gần như no-name, tôi cũng tò mò vào xem vì anh qc tận 2-3 lần. Tưởng gì ghê té ra bench bằng cách trả về chuỗi String hello world :oops:

Anh zai đi làm bao năm rồi mà ko hiểu bench và real world nó khác nhau cỡ nào. 500k rps trả về chuỗi ko đổi mà cũng khoe.
Bài toán thực tế nó phức tạp gấp trăm lần, hệ thống back-end chạy đc 40k rps là cũng dạng trâu rồi, bao gồm tất cả các thể loại query db, authen/autho, serialize/deserialize, searching, paging... đủ các món.

Mà cứ cho là Drogon nó chạy đc 500k rps thật đi, anh zai có contribute gì trong đó k? Hay là fork về build rồi chạy back-end với 10 DAU :sneaky:
Hôm qua khuya rồi nên tôi trả lời vội với anh.

C/C++ chỉ có vài cái web framework thôi, có thể nó no-name với anh chứ với bọn dev C++ cái Drogon là phổ biến nhất rồi.

Chuyện thực tế với benchmark nó khác nhau đéo ai chả biết. Ý tôi muốn nói là nếu performance là ưu tiên số một của anh, thì chọn ngôn ngữ có lợi thế về performance để phát triển là phương án tốt nhất. Việc xử lý 1 mil rps trong thực tế với các framework của C/C++,Rust là hoàn toàn khả thi, khác hẳn với mấy fw của Python, Javascript.

Requests đơn giản hay heavy query DB, serialize/deserialize blah blah cũng đéo làm giảm performance của C/C++ so với các ngôn ngữ garbage collection khác.

Tôi đéo có contribute gì cho cái Drogon fw kia nhưng tôi có viết open-source lib cho mảng khác, anh có muốn so đo Github stars không :beauty:
 
Hôm qua khuya rồi nên tôi trả lời vội với anh.

C/C++ chỉ có vài cái web framework thôi, có thể nó no-name với anh chứ với bọn dev C++ cái Drogon là phổ biến nhất rồi.

Chuyện thực tế với benchmark nó khác nhau đéo ai chả biết. Ý tôi muốn nói là nếu performance là ưu tiên số một của anh, thì chọn ngôn ngữ có lợi thế về performance để phát triển là phương án tốt nhất. Việc xử lý 1 mil rps trong thực tế với các framework của C/C++,Rust là hoàn toàn khả thi, khác hẳn với mấy fw của Python, Javascript.

Requests đơn giản hay heavy query DB, serialize/deserialize blah blah cũng đéo làm giảm performance của C/C++ so với các ngôn ngữ garbage collection khác.

Tôi đéo có contribute gì cho cái Drogon fw kia nhưng tôi có viết open-source lib cho mảng khác, anh có muốn so đo Github stars không :beauty:
Ok anh zai muốn tranh luận.

1M rps khả thi với framework C/C++/Rust chỗ nào? Và tại sao Js, Python ko khả thi?

Rq phức tạp đương nhiên làm giảm performance chứ tại sao ko? Trả về chuỗi String khác với search trong db 10M records chứ anh zai?

Go cũng garbage collector đấy, giờ hạ tầng anh dùng toàn là Go ko đấy.
 
1M rps khả thi với framework C/C++/Rust chỗ nào? Và tại sao Js, Python ko khả thi?
Không được 1m rps nhưng tôi bảo đảm được 700k với CPU EPYC AMD 16 core :matrix:
Còn luôn luôn nghẽn ở DB chứ không phải ở con backend, thế nên phải dùng Redis và MessageQueue
Thằng này test có 2 core CPU ảo máy chủ EPYC còn được 150k. Nó để cả code test trên Github, mời các anh xem
 
Sửa lần cuối:
Ok anh zai muốn tranh luận.

1M rps khả thi với framework C/C++/Rust chỗ nào? Và tại sao Js, Python ko khả thi?

Rq phức tạp đương nhiên làm giảm performance chứ tại sao ko? Trả về chuỗi String khác với search trong db 10M records chứ anh zai?

Go cũng garbage collector đấy, giờ hạ tầng anh dùng toàn là Go ko đấy.
Benchmarks của TechEmpower cho thấy cùng một cấu hình các framework của C/C++, Rust hoàn toàn có thể handle được > 1 mil rps

1763707056531.png


Tôi đã post rất nhiều lần ở trên rồi mà anh cứ lờ đi nhở? :doubt:

TechEmpower Web Framework Performance Comparison (https://www.techempower.com/benchmarks/#section=data-r23&test=fortune)
 
Tôi 34 tuổi, bữa giờ đi phỏng vấn 5 cty. Được 2 offers đây.

- Công ty A: 80M * 14 tháng lương.

- Công ty B: 85M * 13 tháng lương.

Đang phân vân chưa biết chọn công ty nào đây.

Có vài kinh nghiệm share lại:
- Tuổi tác không quan trọng, giờ người ta chỉ tuyển người giỏi thật giỏi, level cỡ như Senior, staff ấy. Chứ Junior vs đám mid cạnh tranh khốc liệt vl.

- Giờ pv nó khó vl, không còn như ngày xưa nữa. Có cty tới 4 vòng.

- Nên tìm mảng ít người biết đến cơ hội sẽ cao hơn. Ví dụ: Rust, Ruby, … chứ nói thật giờ đâm đầu vào nhóm React, Vujs thì cạnh tranh khóc liệt lắm. Tỷ lệ quá cao.
 
Tôi 34 tuổi, bữa giờ đi phỏng vấn 5 cty. Được 2 offers đây.

- Công ty A: 80M * 14 tháng lương.

- Công ty B: 85M * 13 tháng lương.

Đang phân vân chưa biết chọn công ty nào đây.

Có vài kinh nghiệm share lại:
- Tuổi tác không quan trọng, giờ người ta chỉ tuyển người giỏi thật giỏi, level cỡ như Senior, staff ấy. Chứ Junior vs đám mid cạnh tranh khốc liệt vl.

- Giờ pv nó khó vl, không còn như ngày xưa nữa. Có cty tới 4 vòng.

- Nên tìm mảng ít người biết đến cơ hội sẽ cao hơn. Ví dụ: Rust, Ruby, … chứ nói thật giờ đâm đầu vào nhóm React, Vujs thì cạnh tranh khóc liệt lắm. Tỷ lệ quá cao.
nhưng Rust với Ruby ít công ty tuyển bác ạ
 
Anh có phương pháp nào để benchmark tốt hơn được thì giới thiệu đi.
thu thập yêu cầu biz, từ đó nghĩ ra những cái metrics, tính chất nào thật sự cần phải quan tâm, làm một vài POC, bench mấy cái POC đó so với nhau dựa trên mấy cái metrics đó

mấy cái synthetic benchmark này cùng lắm chỉ để làm điểm khởi đầu chứ không thể dự đoán được khả năng scale theo bài toán biz

hiểu nông cạn thì mấy câu phán ở trên nói rằng mấy cái benchmark này dự đoán được khả năng scale cho mọi hệ thống, khi tích hợp vào cái có sẵn hay được dựng từ số không, cho mọi bài toán, for all possible worlds

hơn nữa code chúng nó viết nhiều khi dùng mấy cái hack mà không ai xài, có khi đẻ ra framework để game mấy cái metrics đó

cách nói chuyện như cái đứa con nít kiếm được món đồ chơi mới, phải đi khoe khắp làng khắp xóm
 
Benchmarks của TechEmpower cho thấy cùng một cấu hình các framework của C/C++, Rust hoàn toàn có thể handle được > 1 mil rps

Xem tệp đính kèm 3346571

Tôi đã post rất nhiều lần ở trên rồi mà anh cứ lờ đi nhở? :doubt:

TechEmpower Web Framework Performance Comparison (https://www.techempower.com/benchmarks/#section=data-r23&test=fortune)

Ok, bench của drogon a đc 1m rps, chả liên quan gì tới vấn đề 1m RPS mọi ng đang nói. Vậy cho nó vuông.
 
thu thập yêu cầu biz, từ đó nghĩ ra những cái metrics, tính chất nào thật sự cần phải quan tâm, làm một vài POC, bench mấy cái POC đó so với nhau dựa trên mấy cái metrics đó

mấy cái synthetic benchmark này cùng lắm chỉ để làm điểm khởi đầu chứ không thể dự đoán được khả năng scale theo bài toán biz

hiểu nông cạn thì mấy câu phán ở trên nói rằng mấy cái benchmark này dự đoán được khả năng scale cho mọi hệ thống, khi tích hợp vào cái có sẵn hay được dựng từ số không, cho mọi bài toán, for all possible worlds

hơn nữa code chúng nó viết nhiều khi dùng mấy cái hack mà không ai xài, có khi đẻ ra framework để game mấy cái metrics đó

cách nói chuyện như cái đứa con nít kiếm được món đồ chơi mới, phải đi khoe khắp làng khắp xóm
Éo hiểu lắm. Đại khái tôi hiểu anh đang muốn nói rằng mỗi dự án có tính chất riêng, cần nghiên cứu riêng, cần solution riêng phỏng. Nhưng toàn tính chất riêng như thế thì so sánh thế éo nào được với ai, đâu có thể áp dụng vào để làm benchmark cho những trường hợp khác được.

Benchmarks của Techempower đã nói rõ là về performance của web frameworks chứ không phải việc scale mà anh cứ lan man.

Anh nói toàn buzzwords éo có số liệu rõ ràng, éo có link, cũng éo có source code để người ta nhìn vào tham khảo thì tôi cũng chỉ biết gật gù cho anh đúng vậy.

Đù mẹ anh nói luyên thuyên một hồi lại quay ra công kích cá nhân, kiểu thằng kia đưa số liệu rõ ràng mà tính trẻ con nên éo đáng tin, phải tỏ ra nguy hiểm với xiaoloz toàn buzzwords như tao mới tín :doubt:
 
Éo hiểu lắm. Đại khái tôi hiểu anh đang muốn nói rằng mỗi dự án có tính chất riêng, cần nghiên cứu riêng, cần solution riêng phỏng. Nhưng toàn tính chất riêng như thế thì so sánh thế éo nào được với ai, đâu có thể áp dụng vào để làm benchmark cho những trường hợp khác được.

Benchmarks của Techempower đã nói rõ là về performance của web frameworks chứ không phải việc scale mà anh cứ lan man.

Anh nói toàn buzzwords éo có số liệu rõ ràng, éo có link, cũng éo có source code để người ta nhìn vào tham khảo thì tôi cũng chỉ biết gật gù cho anh đúng vậy.

Đù mẹ anh nói luyên thuyên một hồi lại quay ra công kích cá nhân, kiểu thằng kia đưa số liệu rõ ràng mà tính trẻ con nên éo đáng tin, phải tỏ ra nguy hiểm với xiaoloz toàn buzzwords như tao mới tín :doubt:
lol, lmao even
 
Tôi trả lời ở trên kìa fen. Ông nào hỏi tôi câu làm sao xử lý 1 mil requests per second, tôi trả lời luôn tôi viết backend bằng C++ (Drogon, Oat++, Crow).

Như benchmarks của Drogon framework ở trên có thể xử lý được >500k rps với trường hợp 1 connection có thể gửi nhiều request, ~140k rps trong th mỗi request phải tạo 1 connection. Outperform cả Nginx luôn :beauty:

Benchmarks được chạy trên con server 2 CPUs 16 cores, 32 threads, 64GB RAM, giá thuê chắc xấp xỉ $250/m, quá bèo cho 1 cty có số lượng traffic như vậy. Ông nào lăn tăn mời vào repo của Drogon mà var :beauty:
Chả hiểu 1M rps chắc là làm cdn hả, và mỗi request keep connection bao lâu. Chứ mỗi con mà keep 100ms thì đâm đầu vào tường. Và trong thực tế chạy thật trên cloud thì cũng chỉ có chết vì sẽ có hard limit đủ thứ tầng. Vì vậy build chơi cho vui thôi chứ chả bao giờ đụng tới vì bài toán ở đây nằm ở scale.
 
=))
trước có ông nào trong này kể làm IT bên tư bổn, cụ thể là nhật, server đuối là upgrade cấu hình lên, còn ở xứ nào đó, ** mé bắt dev tối ưu bằng code hâhhaha
xưa làm VNE code đuối thì order server, hôm sau FTel mang tới lắp? Vã quá thì kéo luôn line SGN-HN lấy server ngoài đấy đắp vào. Có tiền thì ko gì là ko thể.
 
Chả hiểu 1M rps chắc là làm cdn hả, và mỗi request keep connection bao lâu. Chứ mỗi con mà keep 100ms thì đâm đầu vào tường. Và trong thực tế chạy thật trên cloud thì cũng chỉ có chết vì sẽ có hard limit đủ thứ tầng. Vì vậy build chơi cho vui thôi chứ chả bao giờ đụng tới vì bài toán ở đây nằm ở scale.
Không phải CDN, chỉ là một server (kiểu một 1 con PC có cấu hình cụ thể) có thể xử lý được tối đa bao nhiêu rqs (plaintext, JSON, DB queries etc...), đang lấy mức 1 mil rqs để làm mốc. Những vấn đề khác như scalable, maintainable, development time etc.. ko tính. Nói chung chỉ đơn thuần là performance của server. Còn thực tế trong production nó phát sinh vô số các vấn đề khác thì lại là một câu chuyện khác.
 
cho em hỏi là với mức lương các anh đưa ra ở trên là ở tt Việt Nam hay nước ngoài ạ
 
Hướng tới đa phần là senior dev có kiến thức và hiệu quả làm việc tốt. Không quá sâu và rộng về tech để bứt lên SA, Tech lead. Cần phải lao ra thị trường vì đa phần vì bị tư bản cắt hợp đồng.
Mọi người ở trường hợp trên 1-2 năm nay có offer nào tốt ko? Mình có thử phỏng vấn mà thấy khó khăn quá.
Thôi tôi chia sẻ đây, ngày mai là tròn 35 tuổi. Già rồi nên dopamine tuột quá tuột.

Đang kiểu chán việc, thích ngồi chơi qua ngày kiểu nghỉ hưu. cty đang làm đã 8 năm, stock đã vested hết, có thêm stock mới rồi nhưng không còn động lực cày. Tôi thì chỉ cần ngồi chơi công việc vẫn chạy do mentor 1 mớ ở dưới. Khi có vấn đề gì tụi nó ko giải quyết được, hoặc ko biết làm thì mới nhảy vào. Hoặc khi có cái nào mới khó quá, thì build xong transfer lại cho bọn nó. Nhưng thà tôi ngồi chơi vậy mà công ty vẫn hoạt động ổn, muốn giữ tôi lại chứ không muốn tôi nghỉ. Nên dạo này cả năm nay tôi cũng kiếm cái đi làm PV.

Đa số các công ty outsource offer tôi mức 70tr remote hybrid đủ kiểu (và chắc làm việc tầm đâu đó vài giờ 1 ngày).

Các công ty outsource hoặc product nước ngoài thì tầm 100tr.

Các công ty remote nước ngoài thì sẽ ở mức 5,6k là nhiều.

Gần đây thì có pv công ty max 9k (vị trí principle engineer) có cảm giác họ cần người làm thật nên mới trả cao. Cũng định lấy thêm job này làm vì họ trả cao là họ cần người làm thật.


À cũng gặp ông sếp cũ nói ổng, dạo này chán quá, không biết làm gì, có project nào cho làm không nhận lương tượng trưng, thế là ổng ok cái rụp onboard luôn. Mình nhận vội chủ yếu là để kiếm cái mới để làm chứ chơi riết cũng chán. Chủ yếu vẫn là training cho mấy chú dev con, rồi build framework cho mấy chú ấy ngồi làm trên đó.

1763740525265.png
 
Thôi tôi chia sẻ đây, ngày mai là tròn 35 tuổi. Già rồi nên dopamine tuột quá tuột.

Đang kiểu chán việc, thích ngồi chơi qua ngày kiểu nghỉ hưu. cty đang làm đã 8 năm, stock đã vested hết, có thêm stock mới rồi nhưng không còn động lực cày. Tôi thì chỉ cần ngồi chơi công việc vẫn chạy do mentor 1 mớ ở dưới. Khi có vấn đề gì tụi nó ko giải quyết được, hoặc ko biết làm thì mới nhảy vào. Hoặc khi có cái nào mới khó quá, thì build xong transfer lại cho bọn nó. Nhưng thà tôi ngồi chơi vậy mà công ty vẫn hoạt động ổn, muốn giữ tôi lại chứ không muốn tôi nghỉ. Nên dạo này cả năm nay tôi cũng kiếm cái đi làm PV.

Đa số các công ty outsource offer tôi mức 70tr remote hybrid đủ kiểu (và chắc làm việc tầm đâu đó vài giờ 1 ngày).

Các công ty outsource hoặc product nước ngoài thì tầm 100tr.

Các công ty remote nước ngoài thì sẽ ở mức 5,6k là nhiều.

Gần đây thì có pv công ty max 9k (vị trí principle engineer) có cảm giác họ cần người làm thật nên mới trả cao. Cũng định lấy thêm job này làm vì họ trả cao là họ cần người làm thật.


À cũng gặp ông sếp cũ nói ổng, dạo này chán quá, không biết làm gì, có project nào cho làm không nhận lương tượng trưng, thế là ổng ok cái rụp onboard luôn. Mình nhận vội chủ yếu là để kiếm cái mới để làm chứ chơi riết cũng chán. Chủ yếu vẫn là training cho mấy chú dev con, rồi build framework cho mấy chú ấy ngồi làm trên đó.

1763833242722.png
Thím nhận lương 6tr xong trừ thuế còn 4tr thì làm cho vui thật à, thế này kiếm đâu ra slot cho dev trẻ :burn_joss_stick:


Tượng trưng thì cũng phải 2x-3x để trừ bớt thuế đi chứ
uxby0Nl.gif
 
Thôi tôi chia sẻ đây, ngày mai là tròn 35 tuổi. Già rồi nên dopamine tuột quá tuột.

Đang kiểu chán việc, thích ngồi chơi qua ngày kiểu nghỉ hưu. cty đang làm đã 8 năm, stock đã vested hết, có thêm stock mới rồi nhưng không còn động lực cày. Tôi thì chỉ cần ngồi chơi công việc vẫn chạy do mentor 1 mớ ở dưới. Khi có vấn đề gì tụi nó ko giải quyết được, hoặc ko biết làm thì mới nhảy vào. Hoặc khi có cái nào mới khó quá, thì build xong transfer lại cho bọn nó. Nhưng thà tôi ngồi chơi vậy mà công ty vẫn hoạt động ổn, muốn giữ tôi lại chứ không muốn tôi nghỉ. Nên dạo này cả năm nay tôi cũng kiếm cái đi làm PV.

Đa số các công ty outsource offer tôi mức 70tr remote hybrid đủ kiểu (và chắc làm việc tầm đâu đó vài giờ 1 ngày).

Các công ty outsource hoặc product nước ngoài thì tầm 100tr.

Các công ty remote nước ngoài thì sẽ ở mức 5,6k là nhiều.

Gần đây thì có pv công ty max 9k (vị trí principle engineer) có cảm giác họ cần người làm thật nên mới trả cao. Cũng định lấy thêm job này làm vì họ trả cao là họ cần người làm thật.


À cũng gặp ông sếp cũ nói ổng, dạo này chán quá, không biết làm gì, có project nào cho làm không nhận lương tượng trưng, thế là ổng ok cái rụp onboard luôn. Mình nhận vội chủ yếu là để kiếm cái mới để làm chứ chơi riết cũng chán. Chủ yếu vẫn là training cho mấy chú dev con, rồi build framework cho mấy chú ấy ngồi làm trên đó.

Xem tệp đính kèm 3347484
Thím nhận job này thì dev già thất nghiệp cần tầm đó nuôi miệng kiếm đâu ra nữa =((
 

Thống kê chủ đề

Ngày tạo
Kaiser2013,
Người trả lời cuối
JyRAICK,
Trả lời
352
Lượt xem
41.068
Quay lại
Lên đầu trang