Giờ it khó tìm việc rồi à

  • Người tạo chủ đề Người tạo chủ đề whynotmeee
  • Ngày bắt đầu Ngày bắt đầu
Bạn mình đi phỏng vấn senior được người phỏng vấn hỏi câu
select * from A where A.date == xxxx
Giờ optimize query này sao? index có đủ cả rồi.
Sau khi chê những solutions mà ứng viên đưa ra cuối cùng ông pv chốt là dùng limit offset để trả data vừa đủ thôi
Bạn thấy câu hỏi này thế nào :)

Ko bàn câu trả lời, chỉ nói về câu hỏi: ko đầu ko cuối ko có cả khúc giữa.

Cty nào âm binh vậy? Ko có requirement, ko có table, ko có mô tả index, optimize kiểu thầy bói xem voi à.
 
Hợp lý, mình cũng đang định nói. Đây là 1 dạng để nhắc nhở nên phân trang thôi
Cái select * thì ko hợp lý thì đúng hơn, chỉ select những column cần
Nếu optimize thì xem định dạng của cột date ở đây là gì, có thể thay thế bằng type khác mà vẫn đáp ứng nghiệp vụ, mà query nhanh hơn thì mới gọi là optimize

Ko bàn câu trả lời, chỉ nói về câu hỏi: ko đầu ko cuối ko có cả khúc giữa.

Cty nào âm binh vậy? Ko có requirement, ko có table, ko có mô tả index, optimize kiểu thầy bói xem voi à.
Ý của họ chắc là những cái khác đều ok rồi.
Có thể thấy là người hỏi đã chuẩn bị câu hỏi và expect đúng câu trả lời đó thôi. Maybe đó là "khó". Hỏi vậy khó thật.
 
Cái job Java ở Quận 1 lương 60~70 gross dạo này thấy đầy trên LinkedIn, có thím nào đang làm đó ko :big_smile:
 
Gần đây phỏng vấn 35 ông dev backend chưa ông nào trả lời được trọn vẹn câu "Độ phức tạp thuật toán bigO tính thế nào" dù CV phông bạt tới 2/3 khoe là leader.

Câu trả lời đơn giản "Là số phép tính hoặc bộ nhớ dùng trong trường hợp xấu nhất".
Nhiều khi muốn khóc trong phòng PV luôn các thím.
Pvan hỏi "độ phức tạp thuật toán khi tính tổng các sô nguyên liên tiếp từ 1 -> n"
đa số trả lời là 0(n)=((
 
Bạn mình đi phỏng vấn senior được người phỏng vấn hỏi câu
select * from A where A.date == xxxx
Giờ optimize query này sao? index có đủ cả rồi.
Sau khi chê những solutions mà ứng viên đưa ra cuối cùng ông pv chốt là dùng limit offset để trả data vừa đủ thôi
Bạn thấy câu hỏi này thế nào :)
Nếu bạn đã tạo index trên cột date thì query trên sẽ được tối ưu hóa bằng cách sử dụng index đó. Tuy nhiên, để đảm bảo tối ưu hóa tốt nhất, bạn cần xác định xem cột date có bị lặp lại nhiều lần trong bảng A hay không. Nếu cột date có nhiều giá trị lặp lại thì việc sử dụng index sẽ không có tác dụng nhiều. Trong trường hợp này, bạn có thể cân nhắc tạo index trên cả hai cột là date và một cột khác mà giá trị không lặp lại nhiều để tăng tốc độ truy vấn. Ví dụ: nếu cột id là một cột duy nhất và không có giá trị lặp lại nhiều, bạn có thể tạo index trên cả hai cột date và id.
ngoài ra, bạn cũng có thể tham khảo các phương thức đã được tổng hợp dưới đây
  1. Index: Tạo index cho cột date để tăng tốc độ truy vấn.
  2. Select specific columns: Sử dụng select để chỉ lấy ra các cột cần thiết thay vì lấy tất cả các cột.
  3. Limit và Offset: Sử dụng limit và offset để chỉ lấy ra số lượng và vị trí phù hợp của dữ liệu cần lấy.
  4. Date range partitioning: Phân chia dữ liệu vào các partition dựa trên ngày, giúp tìm kiếm dữ liệu nhanh hơn bằng cách chỉ quét các partition cần thiết.
  5. Caching: Cache kết quả truy vấn để giảm thiểu thời gian truy vấn lần tiếp theo.
Tuy nhiên, việc tối ưu lệnh truy vấn còn phụ thuộc vào cấu trúc của database, kích thước dữ liệu và cách sử dụng ứng dụng. Do đó, để tối ưu truy vấn, bạn nên tìm hiểu về cấu trúc của database và xác định các điểm yếu của truy vấn để có thể cải thiện hiệu suất của nó.
 
Lướt 1 vòng trên linkedin gặp đầy status kiểu này @

1681528878465.png


1681528896928.png
 
Sửa lần cuối:
Mong đợi thì đó là hỏi về thuật toán rồi chứ ko phải hỏi về độ phức tạp, chia rõ ràng case ra, bây giờ nó viết 1 vòng for mà anh cứ khăng khăng bảo ko phải 0(n) thì cũng chịu
tôi có bảo ứng viên trả lời không đúng đâu, chỉ là ko đúng với mong đợi
nếu dùng for thì là 0(n) đúng r còn gì, dùng công thức mới là 0(1) , độ phức tạp là tính cho thuật toán chứ đâu phải cho 1 bài toán.
thì thuật toán ở đây là dùng công thức , tôi đưa bài toán cụ thể rồi, có phải chung chung đâu :oops:
 
Người hỏi khi nào chả cầm đằng chuôi, tốt nhất người phỏng vấn hỏi 5 câu, ứng viên hỏi 5 câu. Nói thật chứ để ứng viên hỏi lại 5 câu thì người phỏng vấn cũng đái ra quần.
 
Pvan hỏi "độ phức tạp thuật toán khi tính tổng các sô nguyên liên tiếp từ 1 -> n"
đa số trả lời là 0(n)=((
đứng về phía người tuyển dụng thì mong đợi câu trả lời là O(1) :(
Đây là ông bắt người ta giải toán cấp 2 chứ có phải là tuyển lập trình viên méo đâu ?
Học xong đại học CNTT ra trường năm 23 tuổi, đã bỏ toán 3 năm, rồi đi làm thêm 2 năm thoát kiếp culi Fresher là đã bỏ toán 5 năm thì ai còn nhớ được công thức sum(1 -> n) = n∗(n+1)/2 này nếu không Google ?
 

Thống kê chủ đề

Ngày tạo
whynotmeee,
Người trả lời cuối
chiyeuemthoi,
Trả lời
616
Lượt xem
152.738
Quay lại
Lên đầu trang