JavaRush /Blog Java /Random-VI /Java Trung trong 2,5 tháng.
novago219
Mức độ

Java Trung trong 2,5 tháng.

Xuất bản trong nhóm
Xin gửi lời chào đến tất cả những độc giả đã nghĩ rằng trong 2,5 tháng kể từ đầu , bạn thực sự có thể trở thành Trung. Tôi vội làm bạn thất vọng - điều này chỉ có thể thực hiện được nếu bản thân bạn làm việc rất chăm chỉ và tôi biết mọi người đều muốn mọi thứ ngay lập tức - ngay bây giờ và không còn cách nào khác. Và cụm từ từ đầu chỉ áp dụng cho tôi trong một trạng thái có điều kiện nhất định, bởi vì tôi thực sự không có kiến ​​thức gì về Java như một ngôn ngữ lập trình. Nhưng tôi vẫn đã biết và có thể làm được điều gì đó ngay cả trước khi gặp JavaRush, và có lẽ tôi muốn bắt đầu câu chuyện của mình bằng điều này, bởi vì sự phát triển nghề nghiệp của tôi theo một cách nào đó là sự kết hợp khá kỳ lạ giữa kiến ​​​​thức, kỹ năng và may mắn. Vì vậy, hãy để tôi cung cấp cho bạn một danh sách mang lại cho tôi lợi thế cạnh tranh so với những người khác và cũng cho phép tôi vượt qua JavaRush (lên đến cấp 34) khá nhanh chóng và không gặp nhiều khó khăn (ít nhất là nó không làm tôi ngạc nhiên). Danh sách này bao gồm những kiến ​​thức mà trường đại học đã cung cấp cho tôi cũng như những gì bản thân tôi quan tâm. Tôi sẽ không phân biệt mọi thứ ở đâu và tôi cũng sẽ không nêu tên trường đại học. Nếu muốn, bạn nên tự mình nắm vững toàn bộ kiến ​​thức này nếu trường đại học của bạn không dạy.
  1. Thuật toán và cấu trúc dữ liệu: Con đường của tôi theo hướng này bắt đầu bằng việc nghiên cứu các nguyên tắc xây dựng thuật toán, đọc sách cổ điển (Knuth) và nghiên cứu ngôn ngữ lập trình Pascal, sau đó tiếp tục với ngôn ngữ C, triển khai tất cả các cấu trúc dữ liệu và phân tích những ưu điểm và nhược điểm của mỗi người trong số họ. Tôi sẽ không nói rằng, ngoài mọi thứ khác, tôi biết cách làm việc với Máy Turing và Thuật toán Markov, hay nói đúng hơn là tôi đã nói điều này rồi, nhưng bạn có thể bỏ qua điều này, mặc dù, theo ý kiến ​​​​của tôi, khái niệm về một băng bộ nhớ vô hạn và chuyển động của con trỏ dọc theo nó mang lại ý tưởng chính xác nhất về cách thức hoạt động thực sự của máy tính từ bên trong, nhưng đây chỉ là ý kiến ​​​​khiêm tốn của tôi.
  2. Kiến trúc máy tính và Trình biên dịch: khi bạn quyết định rằng bạn đã hoàn toàn hiểu nguyên lý hoạt động của máy tính, hãy thử viết chương trình ở mức độ rất thấp (nếu không thì làm sao bạn có thể đánh giá cao tất cả những điều thú vị của Java?), và cá nhân tôi đã xem xét tất cả các lựa chọn giáo dục bằng một , hai, ba thanh ghi và tôi nhận ra bạn phải né như thế nào khi chỉ có một thanh ghi và chương trình hoạt động (thật đáng ngạc nhiên phải không?).
  3. Toán học rời rạc: một cách tự nhiên, song song với những điều trên, bạn cũng nên theo học chủ đề này vì nó mang lại sự hiểu biết đầy đủ về tư duy logic và lý thuyết về máy trạng thái hữu hạn sẽ cho bạn biết các phần bên trong của bộ xử lý được sắp xếp như thế nào và như thế nào. chúng được tổ chức trong các mạch tích hợp. Đừng quên rằng Lý thuyết đồ thị cũng được nghiên cứu ở đây, điều này sẽ không thừa 100%.
  4. Toán cao cấp: Tôi quyết định nêu bật tất cả các môn toán khác trong một đoạn văn, để không làm bạn bối rối quá nhiều. Đây là: phân tích toán học, lý thuyết xác suất và thống kê, đại số tuyến tính - nhân tiện, một điều rất, rất quan trọng nếu bạn muốn làm đồ họa ba chiều (tôi biết, ước mơ của mọi người là viết trò chơi, mặc dù đối với điều này bạn cũng sẽ phải tham gia một khóa học về phương trình vi phân và phương pháp số, nhưng đây chỉ là những điều nhỏ nhặt) và các lĩnh vực khác.
  5. Kiến trúc hệ điều hành. Linux: sau khi bạn cảm thấy thoải mái ở đây, tính năng đa luồng trong Java sẽ đặt ra ít câu hỏi hơn nhiều và hóa ra là bạn đã nghe ở đâu đó câu chuyện cổ tích về các triết gia.
  6. Ngôn ngữ OOP, C++: à, chúng ta gần như đã đạt đến đỉnh của chuỗi thức ăn. Tôi sẽ không giải thích chi tiết ở đây và sẽ không nói tại sao việc triển khai OOP trong C++ lại thú vị hơn nhiều khi xem xét.
  7. Ngoài ra: một vài điều nhỏ nữa mà tôi đã biết là: đồ họa máy tính (OpenGL, Unity 3D) và C# (Core).
JavaRush có liên quan gì đến nó?
Chà, cùng với tất cả những kiến ​​thức vụn vặt này, hồi tháng 9 năm ngoái, tôi đã xem qua JavaRush, lướt qua một vài cấp độ và bỏ cuộc, vì tôi khá dễ dàng tìm được việc làm sau khi tốt nghiệp đại học (không phải với tư cách là một lập trình viên, mà là trong lĩnh vực CNTT, có thể ai đó có thể đoán nó có thể là gì?). Nhưng tôi nhanh chóng phát hiện ra rằng tôi không hề quan tâm đến điều này, trong vài tháng, tôi gần như đạt đến mức trần và nhận ra rằng chẳng ích gì khi phát triển ở đây, mặc dù ban quản lý công ty đưa ra các lựa chọn gần như mang tính giải trí (trong số đó có DevOps), mà tôi đã từ chối. Cùng lúc đó, tôi đang chuẩn bị cho học sinh tham dự Olympic về khoa học máy tính (tôi quên đề cập - tôi thực sự thích lập trình thể thao), và sau khi rời bỏ công việc chính, tôi đã lao đầu vào đó. Tôi hài lòng với mọi thứ trong khoảng 4-5 tháng, cho đến khi tôi cảm thấy mệt mỏi với điều này. Các câu hỏi được lặp lại, tất cả các chủ đề đều được đề cập và đó là lúc tôi nhớ đến JavaRush. Là một người theo chủ nghĩa duy lý (tham lam), lần đầu tiên tôi trải qua 10 cấp độ ban đầu từ đầu đến cuối, sau đó nhìn xa hơn (có vẻ như cấp độ 15 là đủ), tôi nhận ra rằng điều này khá thú vị và theo cách điển hình của tôi - tôi chỉ làm thôi. bất cứ lúc nào miễn phí. Bạn có 5 phút rảnh rỗi không? Tuyệt vời, tôi sẽ thêm logic của phương pháp. Tổng cộng: Tôi đã mua hai gói đăng ký hàng tháng. Trong tháng đầu tiên tôi từ cấp 10 lên 28, trong tháng thứ hai chưa hoàn thành (khoảng 15 ngày) tôi từ cấp 28 lên 34. Theo trình tự thời gian, đó là từ tháng 4 đến giữa tháng 5, tức là đã sử dụng 1,5 tháng (bạn hãy tự tính toán bằng đồng rúp). Tôi sẽ không cho bạn biết cách làm và cách không làm - người ta đã nói rất nhiều về điều này.
Thuê người làm
Khoảng cấp độ 30, tôi xem xét các vị trí tuyển dụng trong thành phố của mình và quyết định không vội vàng và không gửi sơ yếu lý lịch cho mọi người mà sẽ chọn cụ thể công ty mong muốn, chuẩn bị cho việc đó và chỉ sau đó mới gửi những nét vẽ nguệch ngoạc của tôi đến bộ phận nhân sự. Tôi cũng đã vẽ những nét vẽ nguệch ngoạc rất cẩn thận và nó thành ra rất tốt. Tôi nhanh chóng được mời đến một cuộc phỏng vấn và tôi đã vượt qua nó một cách rất tự tin (ít nhất là về Java Core). Tôi sẽ không mô tả câu hỏi đó là gì. Vấn đề bắt đầu khi họ hỏi tôi Spring hoạt động như thế nào và liệu tôi có biết bất kỳ công nghệ Enterprise nào không. Thực ra tôi đã nói là tôi không biết, nhưng với trình độ như vậy - Junior được đảm bảo (bạn sẽ không nhảy cao hơn), nhưng tôi vẫn nhảy và ở đây, có lẽ, phần thú vị nhất bắt đầu. Nói chung, khi giải thích cho tôi các điều kiện (2 tháng - thời gian thử việc, vị trí - Cấp dưới và mức lương), tôi nhận ra rằng tôi không thực sự thích chúng, nhưng nói rằng tôi đồng ý và hỏi liệu tôi có thể bắt đầu làm việc sau không, động lực vì tôi cần phải hoàn thành mọi việc ở công việc hiện tại trước khi gia nhập một công ty mới. Vì vậy, tôi đã cho mình gần một tháng để chuẩn bị. Tôi đã phỏng vấn vào đầu tháng 5 và bắt đầu làm việc vào ngày 23. Đương nhiên, tôi một lần nữa nghiên cứu các yêu cầu, tìm hiểu xem những công nghệ nào đã được sử dụng (Java EE 6) và chuẩn bị cho công việc.
Trung hay không Trung?
À, tôi bắt đầu làm việc và phát hiện ra rằng họ đã tuyển được khoảng 5 Juniors, trong đó tất nhiên là tôi nổi bật, nhưng không nhiều. Trước hết, tôi gặp người quản lý trực tiếp của mình, nhận thấy rằng anh ấy hút thuốc và bắt đầu đi hút thuốc với anh ấy (và tôi hoàn toàn không hút thuốc). Ngoài ra còn có một lập trình viên khác đi cùng chúng tôi, tôi sẽ kể cho bạn nghe về anh ấy sau. Nói chung, khi hút thuốc (3-4 lần mỗi ngày làm việc), tôi đã nói chuyện với người quản lý, nói chi tiết hơn về những thành công của mình, ngẫu nhiên đề cập đến kiến ​​thức của mình (chắc hẳn nó phải có ích) và nói chung, tôi đã có được sự tự tin tốt nhất có thể. có thể. Tiệc nướng và bia vào cuối tuần đầu tiên đã giúp thiết lập các mối quan hệ tốt hơn, do tôi tổ chức. Tôi ở trong văn phòng làm việc đến 11h đêm (ngày làm việc đến 6h30 tối), cho đến khi bị bảo vệ đuổi ra ngoài. Đôi khi Giám đốc điều hành và CTO của công ty ở lại với tôi trong văn phòng, người mà tôi cũng đã liên lạc, chúng tôi ăn tối cùng nhau và cùng nhau rời văn phòng (CTO thậm chí còn mời tôi chở về nhà, nhưng tôi lịch sự từ chối). Vì vậy, thứ nhất, tôi đã thiết lập được mối quan hệ tốt với cấp trên trực tiếp của mình, thứ hai, tôi đã thể hiện với quản lý cấp cao rằng tôi sẽ hoàn thành nhiệm vụ và chỉ sau đó về nhà. Đương nhiên, tất cả những điều này không khiến tôi trở thành Trung lưu. Vậy nó đã làm gì? Hãy để tôi nhắc bạn rằng trước cuộc phỏng vấn, tôi không biết một framework nào (ngoại trừ JUnit). Đây là lúc đáng để quay lại với lập trình viên mà tôi đã đề cập ở trên. Anh ấy là một lập trình viên rất quyền lực với 20 năm kinh nghiệm, từng làm việc 5 năm ở Moscow, khoảng 7 năm ở Mỹ (với tư cách là kiến ​​trúc sư trưởng dự án) và nhiều nơi khác, bao gồm cả những dự án đặc biệt quan trọng của chính phủ (tôi đã học được tất cả những điều này khi hút thuốc). với anh ấy). Vì vậy, lập trình viên này được giao một nhiệm vụ rất nghiêm túc và anh ấy quyết định nhận tôi làm trợ lý. Sau khi được giao nhiệm vụ này, hóa ra anh ấy cần phải rời khỏi đất nước gấp và sẽ không thể làm việc được. Anh ấy viết khung ứng dụng và giao cho tôi phụ trách, nói rằng anh ấy sẽ giám sát từ xa. Chính khoảnh khắc này đã giúp tôi trở thành Trung và kết thúc thời gian thử việc không phải trong 2 tháng mà chỉ trong một tháng và đủ điều kiện nhận mức lương nghiêm túc hơn. Bởi vì lập trình viên này không thể giám sát từ xa và dự án hoàn toàn được giao cho tôi. Tôi đã hoàn thành xuất sắc nó trong vòng một tháng, nhờ đó tôi đã nhận được vị trí của mình và cơ hội nộp đơn xin mức lương cao hơn.
Đạo đức là gì?
Bạn có thể nói rằng tôi thật may mắn khi được học ở nơi họ đã cung cấp cho tôi tất cả những kiến ​​​​thức này (nhưng lưu ý, tôi chỉ dùng nó để đề cập với cấp trên của mình), hoàn cảnh đó khiến một dự án như vậy rơi vào vai tôi và JavaRush phải làm gì làm gì với nó, có vẻ như vậy? Hãy để tôi nhắc bạn một lần nữa rằng trước JavaRush mức độ thành thạo Java của tôi là 0 - chỉ vậy thôi. Thứ hai, khi bạn giải quyết vấn đề ở lần thử thứ 52, có điều gì đó đọng lại trong đầu bạn - tôi có sở trường về các trường hợp ngoại lệ, kiểm tra, v.v., đây cũng là một lợi thế cạnh tranh so với những người khác và nói chung - bạn bắt đầu hiểu rất kỹ về JavaCore ( trong đó xác nhận chứng chỉ OCA, chứng chỉ mà tôi đã vượt qua với chi phí của công ty và đạt 94%), và nếu không có chứng chỉ này, tôi không thấy có ích gì khi tiếp tục. Tuần tới, tôi được giao cho một dự án mới từ đầu, tôi sẽ tự mình lãnh đạo (bao gồm thiết kế cơ sở dữ liệu, lựa chọn công nghệ và tuyển dụng một nhóm). Ngoài ra, tôi sẽ tiến hành phỏng vấn và xem xét sự tiến bộ của Junior để xác định liệu nó có xứng đáng hay không. Tôi muốn nói rằng trong những vấn đề này, tôi không chỉ được giúp đỡ bởi kiến ​​​​thức thực tế mà còn bởi khả năng thiết lập giao tiếp với nhóm, thể hiện bản thân tốt trước ban quản lý, khả năng tạo ấn tượng và bằng chứng rằng tôi sẽ nhìn thấu mọi việc để kết thúc. Cảm ơn sự quan tâm của các bạn, chúc mọi người kiên trì và chú ý đến từng chi tiết hơn.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION