Avatar
1
Quốc Hưng Hoàng Beginner
Như thế nào thì được gọi là thành thạo về cơ sở dữ liệu ?
Chào mọi người,

Mình hiện là một backend developer, hiện tại chưa tiếp xúc nhiều với database. Khi đọc các mô tả công việc của một backend developer trên các trang tuyển dụng rất hay bắt gặp các yêu cầu chung chung như:

Good knowledge & proficient in using: SQL, MySQL, PostgreSQL, or similar 

Vậy thì như thế nào để một junior backend developer được xem là có kiến thức tốt và thành thạo trong việc dùng các database engine ?

Mình chưa đề cập đến các khái niệm nâng cao như distributed system hay optimization tuning

Rất mong nhận được những keyword cụ thể từ các bạn để giúp mình tập trung ôn tập những kiến thức thực sự cần thiết

  • Answer
postgresql
Remain: 5
1 Answer
Avatar
tvd12 Beginner
tvd12 Beginner
  1. Dưới góc nhìn của 1 team leader như anh với 1 bạn junior backend developer được coi là thành thạo nếu biết làm 1 số việc sau:

  • Biết các câu lệnh của engine đang dùng, ví dụ như MySQL thì cần biết SQL, nếu không biết thì google cũng ok, vì anh cũng chẳng nhớ được hết, lúc cần thì cũng google
  • Biết index là gì và làm sao để tận dụng được index trong query, nếu không biết thì hãy chủ động hỏi thay vì giấu nhẹm đi
  • Nhìn chung anh không có yêu cầu gì quá lớn, vì thiết kế db thường có sự tham gia của nhiều người nên cũng không lo, em sẽ lên trình nhanh thôi

  1. Keyword thì có lẽ là: List of SQL queries, what's database index?, how does database index work?, BTree
  • 0
  • Reply
Có vẻ em đang đi đúng hướng. Hiện em đang tìm hiểu thêm về indexing, cụ thể như như b+tree và hash. Nguyên lý lookup, insert hay delete và độ phức tạp về thời gian/không gian của chúng, partial/functional indexing.

Riêng phần SQL queries, em đang thực hành một số bài tập viết SQL của một số khoá học của các trường ĐH lớn và có dự định mua 1 khoá học online để master SQL queries. Nhưng có vẻ theo anh nói nếu không biết thì google cũng OK, có nghĩa là em chỉ cần biết "có sự tồn tại" của SELECT, JOIN, ORDER BY nhằm search khi cần. Chứ ko hẳn cần thành thạo đến một mức độ nhất định đúng ko ạ ? Em hỏi kĩ vì khoá học SQL đó giá $50 nên em khá đắn đo

 –  Quốc Hưng Hoàng 1649409147000
Có nghĩa là em chỉ cần biết “có sự tồn tại” của SELECT, JOIN, ORDER BY nhằm search khi cần: chính xác em ạ. Ngay cả anh đi làm bao nhiêu năm anh vẫn chẳng nhớ nổi mấy câu lệnh update, delete, group by thì nói gì đến các em mới vào nghề. Tuy nhiên nếu em có thể nhớ được sẽ tốt hơn em ạ. Chứ search cũng mất mấy chục giây cuộc đời :)  –  tvd12 1649409638000