Làm thế nào để nâng cao kỹ năng cấu trúc dữ liệu của tôi sau khi ngủ đông dài [đóng]


10

Tôi đã khá giỏi với các thuật toán và cấu trúc dữ liệu một lần, từ rất lâu rồi. Kể từ đó, tôi đã lập trình chuyên nghiệp, và sau đó đi quản lý một nhóm nhỏ, điều này hoàn toàn đánh bật các kỹ năng công nghệ của tôi trong lĩnh vực này.

Tôi đã quyết định tôi muốn trở thành một nhà phát triển một lần nữa và làm việc cho Google. Vấn đề là, tôi đã hết thực hành, rằng nếu tôi được phỏng vấn ngay bây giờ, tôi chắc chắn sẽ lúng túng trong 10 phút.

Chương trình đào tạo nào bạn muốn giới thiệu cho tôi để lấy lại vóc dáng? Tôi đã bắt đầu vào cuối tuần này bằng cách quay lại những điều cơ bản tuyệt đối và thực hiện một vài thuật toán sắp xếp, danh sách liên kết và bảng băm. Tiếp theo, tôi nghĩ rằng tôi sẽ đọc qua toàn bộ tài liệu khóa học về các cấu trúc dữ liệu cơ bản và thuật toán đồ thị khác. Tôi muốn tìm một tập hợp các bài tập thực tế tập trung mà tôi có thể làm trong một khoảng thời gian tương đối ngắn, để tung hứng các tế bào não cũ. Tôi biết những thứ này - tôi chỉ cần nhắc nhở bản thân rằng tôi biết nó.


@Anon: Nếu đây là một cách mới mà Google tạo ra tiếng vang về chính mình trong năm mới này, có một điều tôi muốn nói. Nó hoạt động.
Fanatic23

4
Nếu cấu trúc dữ liệu của bạn được ngủ đông, rất có thể chúng đã được tuần tự hóa. Bạn chỉ cần hủy xác nhận chúng.
Mchl

4
@Mchl - Tôi không biết về Anon, nhưng tôi đã thấy rằng phương tiện lưu trữ "não" thậm chí còn kém tin cậy hơn về lâu dài so với đĩa mềm. Bất cứ điều gì nối tiếp hơn một vài năm trước đây gần như chắc chắn bị hỏng.
Steve314

Câu trả lời:


6

Có 4 điều tôi muốn nói với bạn, và tôi đã liệt kê ra thứ tự tôi cần nói với bạn:

  1. Có được nguồn trà xanh của riêng bạn trong khi bạn đang ở đây
  2. Trong khi bạn đang nhấm nháp tách trà xanh đó, hãy xem qua cuốn sách của Skiena có sẵn từ đây . Và đi qua các tài liệu âm thanh / video ở đây .
  3. Kiểm tra một bộ liên kết tuyệt vời được duy trì bởi Google tại http://code.google.com.vn/edu/cifts.html
  4. Vượt qua các câu hỏi liên quan đến thuật toán tại SO và tự mình trả lời những câu hỏi này

May mắn nhất!


Trong khi tôi yêu cuốn sách từ skiena, không bao giờ biết rằng có một tài liệu âm thanh / video, cảm ơn.
flash

1

Tôi khuyên bạn nên chọn cấu trúc dữ liệu thực hoặc định dạng tệp mà mọi người đang sử dụng ngay bây giờ và làm điều gì đó thú vị với nó. Định dạng tệp Git là tài liệu khá tốt, ví dụ:

http://book.git-scm.com/1_the_git_object_model.html

Làm một cái gì đó thú vị với một định dạng mọi người sử dụng, và nghiêm ngặt về nó, dạy các bài học - và - mang lại cho bạn một cái gì đó mọi người sẽ quan tâm.

Hoặc ít nhất, hãy làm một cái gì đó với một góc độc đáo. Khi tôi ở một vị trí tương tự như bạn, tôi đã viết một câu trả lời cho một câu hỏi phỏng vấn trực tuyến về việc tạo ra một biểu đồ không xác định có thể phát hiện việc chèn các chu kỳ. Nó sẽ là một vấn đề dễ dàng nếu tôi không thêm các ràng buộc bổ sung ... nhưng tôi quyết định yêu cầu nó có thể thực hiện chèn thêm trong O (1). Kết quả là NoCycle:

http://hostilefork.com/nocycle/


1

Điều này phụ thuộc vào chính xác mục tiêu của bạn là gì - ví dụ như là thiết kế và phân tích thuật toán trong đó, hoặc bạn có gắn bó với các cấu trúc và thuật toán tiêu chuẩn không? Nhưng nó có vẻ với tôi như thể bạn đang làm những gì bạn cần làm.

Nếu bạn vẫn còn một cuốn sách văn bản yêu thích cũ từ "một thời gian dài trước đây", tôi khuyên bạn nên xem lại điều đó. Ngoài ra, đó là lời khuyên xem xét lại tiêu chuẩn. Tự đặt câu hỏi cụ thể, tìm kiếm câu trả lời, khi bạn hết câu hỏi lướt qua và duyệt nhanh qua bất cứ điều gì bạn có thể tìm thấy cho đến khi bạn có thể đưa ra một số câu hỏi cụ thể hơn.

Thuật toán và cấu trúc dữ liệu (Niklaus Wirth) là một cuốn sách tương đối súc tích về các thuật toán cơ bản và cấu trúc dữ liệu mà không cần tất cả các thiết kế và phân tích thuật toán. Mặc dù rất cơ bản - danh sách, nhiều loại cây, đống, nhưng tôi không nhớ gì về máy in. Một lợi thế là có bản tải xuống miễn phí phiên bản Oberon - http://www.inf.ethz.ch/personal/wirth/ - tìm liên kết PDF ở gần cuối danh sách sách. Wikipedia là một tài nguyên rõ ràng, nhưng có rất nhiều ý tưởng hay để quyết định những gì bạn muốn và những gì bạn không làm trước khi bạn đến đó.


0

Khi bạn từng khá giỏi với các thuật toán và cấu trúc dữ liệu, tài nguyên bạn đã truy cập là gì?

Làm thế nào ngắn là "khoảng thời gian tương đối ngắn" bạn cần để nâng cao kiến ​​thức của bạn?

Tôi không nghĩ kiến ​​thức thu được bằng sự cống hiến sẽ biến mất. Nó sẽ chỉ biến mất một chút, và BẠN là người đánh giá tốt nhất về lĩnh vực bạn cần làm việc để lấy lại năng lực cũ với các đối tượng bạn từng yêu thích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.