Giới thiệu Series về phỏng vấn với vị trí Senior Backend.

Nội dung bài viết

Video học lập trình mỗi ngày

Series về phỏng vấn với vị trí Senior Backend - Trong những ngày lễ vừa qua tôi có thời gian xem lại những câu hỏi của các anh chị trên youtube cũng như là discord thì nhận thấy có một số comment (tôi tự tóm tắt) cho rằng: "Chủ để rất hay và đa dạng, nhưng họ không thể tìm ra thứ mình muốn khi cần, còn lúc không cần thì xuất hiện... Nôm na là sắp xếp chưa đúng, chuẩn nhất là phải kiểu siêu thị..."

Nói vui: bạn có biết sắp xếp kiểu siêu thị là kiểu đúng chuẩn khoa học và logic. Lối vào họ dẫn dắt khách hàng làm sao có thể tham quan được nhiều mặt hàng, giữ chân được khác hàng càng lâu thì tỷ lệ mua hàng càng cao. Do đó, tôi sẽ cố gắng tư duy như vậy - đồng nghĩa rằng: "Đứng trên vai người khổng lồ giúp chúng ta nhìn xa hơn...".

Nói thật: Ở đây có nhiều anh chị đã đồng hành với Tips qua nhiều năm và đã có vị trí xứng đáng với năng lực của họ. Ở đây không phải công sức của tôi mà đó là nghị lực của họ, nên họ xứng đáng là chuyện bình thường. Ngoài ra có các anh chị đến sau or có duyên xem qua một vài bài học thì có ghé ngang qua và thở dài rằng: "Em thấy... họ nói học công nghệ thì phải học liên tục nếu không sẽ tụt hậu, có rất nhiều thứ phải học... bla bla... Em rất lo lắng... hix hix...". Nghe tôi nói nè. Ở trên cái internet này thì anh chị đi đâu cũng nghe và cuống cuồng là phải. cần học gì?mà tôi nghĩ đôi lúc chúng ta chỉ cần hiểu không cần học gì? là cũng đủ thành công rồi.

Không cần học gì?nó vậy thôi chứ giúp tôi rất nhiều, i know, i know học công nghệ thì quá tuyệt vời nhưng thời gian và năng lượng của mỗi giai đoạn của tôi khác nhau vì vậy tôi sẽ tiết kiệm chúng, để dành cho cái thực sự đúng. VÌ VẬY, tôi sẽ focus vào những cases thực tế khi triền khai các dự án, giờ đây nó sẽ giúp bạn tự tin trong các cuộc phỏng vấn. Nên vậy thì tốt hơn.

Ví dụ tôi sẽ không học Three.js, WebGL vì tôi trải qua dự án, thì thấy chúng chỉ có giải quyết 5% các vấn đề cực kỳ phức tạp trong các lĩnh vực cụ thể. Vì vậy quan điểm của tôi không tập trung nhiều vì điều đó, nhưng điều đó không có nghĩa là tôi nói nó không quan trọng.

Series về phỏng vấn với vị trí Senior Backend

Với tư cách là người anh thì việc học tập hay đi phỏng vấn có điểm chung, nếu có định hướng và mục tiêu rõ ràng thì có thể giảm đáng kể thời gian bạn bối rối và phần lớn cũng có thể giúp bạn tránh được nhiều sự lạc hướng hơn rất nhiều. Vì vậy nên xác định

  • Xác định mình muốn làm công việc gì? giống như TOÁN LÝ HOÁ, hay VĂN SỬ ĐỊA...
  • Hãy nhìn vào các yêu cầu trên vị trí tuyển dụng và thực hiện chúng THÀNH THẠO
  • CV cố gắng nói lên điểm mạnh của dự án LỚN, các dự án nhỏ bỏ qua...
  • Xác định phỏng vấn là trải nghiệm, đánh giá bản thân. Không phải một lần mà áp lực, mà là có khi 40 tuổi cũng đi phỏng vấn lại là chuyện thường ở huyện.

Ví dụ: Nếu là phỏng vấn về backend java: Trước tiên phải hiểu về JAVA trước, ví dụ

  • java core, collection, util, juc, quan trọng là JVM
  • Mysql, Redis..., Oracle ... plus
  • Cấu trúc dữ liệu
  • Linux, process, thread...
  • Middleware - Kafka, RabbitMQ, RocketMQ (biết một trong ba là đủ, Kafka là phổ biến với JAVA vì support tận răng). Netty, Eurake (biết thì càng tốt, nhưng không biết cũng không sao)

Còn series này tôi sẽ giúp các bạn trả lời phỏng vấn một cách tự tin, có thể làm chủ được cảm xúc cũng như kiến thức của mình. Ngoài ra có thể lôi cuốn người phỏng vấn theo câu chuyệnc ủa mình, chứ không để họ đánh lạc hướng của mình. Ví dụ, nói về Kafka. Thì có rất nhiều kiến thức vì nó chỉnh là một mắt xích chủ chốt trong lập trình bất đồng bộ.

  • Tin nhắn tồn đọng làm sao giải quyết chúng trong Kafka.
  • Tăng hiệu suất xử lý tin nhắn mà vẫn đảm bảo thứ tự.
  • Tin nhắn có bị duplicated, nếu có xử lý làm sao

Ngoài ra

  • Bạn đã thực hiện những tối ưu hóa hiệu suất nào trong các dự án của mình?
  • Làm thế nào để cải thiện khả năng tái sử dụng trong các dự án của bạn?
  • Trong dự án của bạn tôi thấy dữ liệu bạn đã được sharding, bạn có thể nói và thực hành sao?
  • Dự án của bạn là kiến trúc monilithic hay kiến trúc microservice?
  • Nếu QPS trong dự án của bạn tăng gấp mười hoặc gấp trăm lần, bạn sẽ phản ứng thế nào?

Khi trả lời những câu hỏi như vậy từ người phỏng vấn, đừng đưa ra những câu trả lời không mạch lạc, bĩnh tĩnh nhất có thể. Yên tâm tôi sẽ có nhiều câu hỏi giúp bạn về điều này...

...

Up Level từ khi ra trường đến 35 tuổi thế nào?

Đây là tất cả các bài viết về lập trìnhmà tôi bắt đầu tập hình thành thói quen khi mỗi lần vấp phải một thứ khó khăn khi triển khai dự án. Sau đó khi các bài viết trên cơ sở lý thuyết được hình thành thì tôi đã quyết định chuyển qua thực hành bằng việc triển khai các dự án với nhiều Stacks công nghệ chủ chốt khi làm việc với vị trí backend

Trước đây tôi ít nói về những dự án triển khai trong youtube, vì tôi nghĩ rằng có duyên chúng ta sẽ gặp. Và đúng vậy, SỐ LỚN ở đây đều cho rằng: "Với 30K mà em thấy có quá nhiều thứ.... Nó đáng giá". Tôi chỉ mỉm cười, nhưng đó là thực sự hạnh phúc. Đa số họ không duyên với nhau, họ sẽ nói rằng 30K học lập trình thì chắc lùa gà... Tôi cũng thực sự mỉm cười... Vì trong danh sách GÀ đó có nhiều lão đại, LÃO ĐẠI thực sự.

Các dự án đó được hình thành từ mức độ đơn giản đến phức tạp về công nghệ, ngoài ra điểm nhấn ở đây CHÍNH LÀ CÁCH SỬ DỤNG NGÔN NGỮ BACKEND. Do đó tôi tập trung cho các bạn khi mới bước vào con đường backend. Hôm nay nhận dịp ngày lễ cũng tâm sự và nói lên lộ trình một chút.

Nếu bạn mới bước vào Backend: Theo tôi hãy học một ngôn ngữ tiết kiệm thời gian nhất có thể, đó chính là Nodejs - ExpressJS. Vì sao, nó đã quen thuộc với chúng ta đó là javascript, nhanh, dễ triển khai.. Vì vậy tôi đã thiết kế dự án với hơn 100 sections: Nodejs - Ecommerce trong đó có các công nghệ thực sự phải học đó là: kafka, redis, rabbitmq, nginx, ec2, aws, ssl, mongodb, mysql các bài học được dấn dắt lên level từng tý. Kết quả khi học xong tôi nghĩ bạn trưởng thành rất nhiều và có thể bơi ra vùng an toàn của mình. Do đó - hãy xem Series này nếu bạn muốn: Xây dựng hệ thống Ecommerce với Nodejs

Tiếp theo: khi đã có kinh nghiệm về BE thì:Lúc này các không nên dừng lại, hãy nhanh chóng tạo thói quen sự dụng một vũ khí mới, và tôi muốn đó là GO sẽ là vũ khí thứ hai. Tính phổ biến Go chưa bằng NODEJS. JAVA... Nhưng tỷ lệ sát thương của nó rất cao, crit damage phát nào ra phát đó, vì tính đơn giản và lập trình đồng thời với sự giúp đỡ của goroutines. Tất nhiên vũ khí mới nhưng kafka, redis, rabbitmq, nginx, ec2, aws, ssl, mongodb, mysqlvẫn phải đi theo vì đó là điều bắt buộc của một hệ thống lớn. Do đó - hãy xem Series này nếu bạn chuẩn bị cho vũ khí thứ 2: Triển khai kiến trúc Go trong dự án Business

Khi đã có JAVA có nên học Go hay không?Đây là câu hỏi rất hay xảy ra trên internet. Tôi đã thấy công ty tôi bốc JAVA qua triển khai GO, chính vì vậy không ngạc nhiên rằng, YES. Nếu điều kiện cho phép hãy học Go. Còn các bạn nào đã quen với JAVA nhưng chưa có dịp triển khai một dự án có tính chất Hight-Concurrency. Do đó - up level về JAVA DDD thì có thể thực hành tại đây: DDD - vetautet - hight - concurrency

Cuối cùng là khi đã quen thuộc với JAVA tôi nghĩ hãy mở rộng cơ hội của mình với NESTSJS cú pháp rất giống nhau, bean trong JAVA chính là provider trong nestjs, ngoài ra các annotation trời ơi chả khác gì nhau. Vì vậy hãy cố gắng mở rộng cơ hội ra. Lúc này thay vì lên trang tuyển dụng tìm kiếm "Backend Developer" thay vì nhìn vào mỗi JAVA thì nay có thể nhìn vào thêm NESTJS. Hãy tự tin...Do đó nếu muốn mở rộng về Nestjs thì đây: NESTJS Backend nó rất hay với dự án social network.

Cuối tuần vui vẻ... Cụt hứng không? Khà khà...

Có thể bạn đã bị missing