Tổng kết tuyển dụng mùa xuân của người bình thường (offer từ Alibaba, Tencent)
Lời giới thiệu: Bài viết nổi bật trên Nowcoder, rất toàn diện! Thực tập hè, tác giả đã ứng tuyển Alibaba, Tencent và ByteDance, nhận được offer từ Alibaba và Tencent.
Địa chỉ bài gốc: https://www.nowcoder.com/discuss/640519
Bài tiếp theo: Mười năm uống băng, khó dập tắt nhiệt huyết — Tổng kết tuyển dụng mùa thu
Bối cảnh
Khi viết bài này, offer từ Tencent đã được gửi, đợt tuyển dụng mùa xuân cũng xem như kết thúc. Lần tìm thực tập hè này, tôi không rải hồ sơ như lần tìm thực tập thường vào năm ngoái, mà chỉ ứng tuyển ba công ty BAT; Alibaba và Tencent mang lại offer, còn ByteDance không cho cơ hội phỏng vấn, có lẽ vì bài thi viết quá tệ.
Tôi là sinh viên năm ba, học đại học không thuộc 985/211. Thời gian bắt đầu và kết thúc đợt tuyển dụng mùa xuân của tôi có lẽ là từ ngày 20 tháng 2 đến khi nhận được thư ý định từ Alibaba vào ngày 23 tháng 3. Tuy nhiên, sau vòng phỏng vấn kỹ thuật cuối của Ant Group ngày 7 tháng 3, tôi không phỏng vấn kỹ thuật nữa mà chỉ trải qua hai vòng HR, thời gian còn lại đều chờ offer. Ban đầu, tôi nhờ bạn giới thiệu nội bộ để ứng tuyển thực tập thường ở mảng tài chính của ByteDance, nhưng đến giờ vẫn đang được đánh giá CV; sau đó lại ứng tuyển thực tập hè ở mảng tài chính, nhưng sau bài thi viết thì quy trình vẫn bị kẹt. Tencent ban đầu được TiMi gọi phỏng vấn, sau khi trượt vòng một thì được PCG gọi, cuối cùng hoàn tất quy trình. Đợt tuyển dụng sớm của Alibaba, tôi ứng tuyển rất nhiều bộ phận; Ant Group là nơi hoàn tất vòng cuối đầu tiên, được nhập vào hệ thống và cuối cùng nhận offer. Trải qua chặng đường này, tôi thật sự nếm đủ cay đắng ngọt bùi, từng tự ti vì học vấn đến mức muốn thi cao học. Tóm lại, nhất định phải tìm một người đồng hành cùng ôn tập, chẳng hạn như @Bạn-chắc-là-đồ-ngốc, bạn ấy là đồng nghiệp trong phòng thí nghiệm và cũng là đội trưởng của phòng thí nghiệm. Người này thật sự rất giỏi, đã nhận offer từ hầu hết các bộ phận cốt lõi của Alibaba và giúp tôi rất nhiều trong quá trình ôn tập.
Mục đích viết bài
- Viết cho bản thân: tổng kết và suy ngẫm về ba năm đầu đại học cũng như một số trải nghiệm và cảm nhận khi tìm việc.
- Viết cho những người bạn vẫn đang tìm thực tập: hy vọng trải nghiệm và kinh nghiệm phỏng vấn của tôi có thể mang đến cho các bạn một số gợi ý và giúp đỡ.
- Viết cho các đàn em có ước mơ vào các công ty lớn như tôi: các bạn còn rất nhiều thời gian chuẩn bị. Dù trước đây bạn đang làm gì, chưa có mục tiêu, sống lãng phí thời gian hay chưa tìm đúng hướng, chỉ cần bắt đầu từ bây giờ, tìm đúng hướng học tập và kiên trì học trong một, hai năm, bạn nhất định có thể thực hiện ước mơ của mình.
Trải nghiệm đại học của tôi
Trước hết, hãy nói sơ qua về trải nghiệm đại học của tôi.
Tôi không có bài báo, không có thành tích thi đấu, không có ACM; muốn giải thưởng nào cũng không có, điểm GPA khá ổn, không quá tệ nhưng cũng không nổi bật. Chắc chắn không thể được giữ lại học cao học, còn thi cao học có lẽ cũng không đỗ.
Năm nhất, tôi tham gia một phòng studio. Học kỳ đầu tự học C và cấu trúc dữ liệu, bắt đầu học Java từ kỳ nghỉ đông. Khi đó tôi chưa biết Java cạnh tranh đến vậy; thông tin tôi nhận được là Java dễ tìm việc. Điều này khiến tôi không khỏi cảm thán về tầm quan trọng của chênh lệch thông tin. Khi ấy tôi chỉ biết frontend, backend và phát triển Android, đồng thời thật sự có hứng thú với backend. Nhưng vì thiếu thông tin, tôi chỉ biết Java có thể dùng để phát triển backend, không biết phát triển backend thật ra là một khái niệm khá hạn hẹp. Sau này tôi mới dần biết thêm các tên gọi như phát triển hệ thống phía sau và phát triển phía server, cũng không biết C++, Golang và các ngôn ngữ khác cũng có thể dùng để phát triển phía server, nên đã học Java. Nhưng thật ra Java phù hợp hơn với phát triển nghiệp vụ, còn C++ phù hợp hơn với phát triển tầng dưới và phát triển phía server. Tôi không phản đối phát triển nghiệp vụ, nhưng lại hứng thú hơn với OS và Network. Tất nhiên, đây sẽ là một số sở thích của tôi; lúc rảnh tôi sẽ tự tìm hiểu thêm.
Lộ trình học
Lộ trình học đại khái là: nền tảng Java SE -> MySQL -> Java Web (chủ yếu gồm JDBC, Servlet, JSP, v.v.) -> SSM (thật ra khi đó Spring Boot đã bắt đầu phát triển, nhưng tôi nghĩ nếu không có nền tảng SSM thì rất khó học Spring Boot, nên học SSM trước) -> Spring Boot -> Spring Cloud (dù khi đó đã học Spring Cloud nhưng thiếu rèn luyện qua dự án nên hoàn toàn không biết sử dụng, chỉ hiểu một số khái niệm phân tán) -> Redis -> Nginx -> Computer Network (vốn là môn bắt buộc của ngành Computer Science, nhưng ngành của chúng tôi đến học kỳ hai năm ba mới học nên tôi tự học trước) -> Dubbo -> Zookeeper -> JVM -> JUC -> Netty -> Rabbit MQ -> Operating System (giống Computer Network) -> Computer Organization (trực tiếp không mở môn này).
Đây là lộ trình học cụ thể của tôi. Tôi học xong những thứ này vào khoảng học kỳ hai năm hai, tất cả đều thông qua video; chỉ biết sử dụng chứ không hiểu nguyên lý bên trong, chưa đạt trình độ kiến thức học thuộc lòng kiểu phỏng vấn. Sau khi học xong, tôi xây dựng được hệ thống kiến thức và bắt đầu chuẩn bị phỏng vấn. Thời điểm bắt đầu đại khái là tháng 6 năm ngoái; tôi bắt đầu xem một số kinh nghiệm phỏng vấn trên Nowcoder rồi tự tổng kết. Trong giai đoạn chuẩn bị phỏng vấn, tôi cho rằng điều quan trọng nhất là đọc sách và luyện bài, còn kiến thức học thuộc lòng chỉ là hỗ trợ. Chúng tôi thường tự giễu rằng phỏng vấn chỉ cần học thuộc các bài vẹt, nhưng thật ra với những công ty như Alibaba, chỉ học thuộc kiến thức là hoàn toàn không thể qua mặt được, trừ khi bạn có dự án hoặc kinh nghiệm thực tập thật sự nổi bật.
Sách đề xuất
- 《Thinking in Java》: Không cần nói nhiều, sách hay nhưng quá dày, tôi mua rồi chưa đọc.
- 《Thấu hiểu JVM》: Kinh thánh về JVM, tôi đã đọc hai lần và mỗi lần đều có thu hoạch khác nhau.
- 《Nghệ thuật lập trình concurrent trong Java》: Do người Alibaba viết, về cơ bản bao quát các vấn đề về concurrent programming thường được hỏi trong phỏng vấn.
- 《Bí mật bên trong MySQL》: Viết rất chuyên sâu nhưng có thể không thân thiện với người mới học. Ấn tượng đầu tiên là nội dung khá sâu và tạp; sau đó đọc riêng từng chương thì thấy thu hoạch rất lớn.
- 《Thiết kế và triển khai Redis》: Đúng như tên sách, kết hợp source code để giải thích sâu về nguyên lý triển khai Redis, nhất định phải đọc.
- 《Thấu hiểu hệ thống máy tính》: CSAPP nổi tiếng. Sách có thể không giúp ích quá nhiều cho phỏng vấn Java, nhưng không thể phủ nhận đây là một tác phẩm kinh điển, bao quát kiến thức về hệ thống máy tính, kiến trúc, tổ chức máy tính, operating system, v.v. Trong vòng hai của Ant Group, tôi được hỏi về khó khăn lớn nhất từng gặp, nên đã trao đổi với interviewer một số vấn đề gặp phải khi đọc sách này. Ở vòng hai của Taobao, tôi cũng trao đổi với interviewer về cuốn sách, và cả hai đều cho rằng sách này cần được đọc lần hai.
- 《TCP/IP toàn tập, tập 1》: Tôi chỉ đọc các chương liên quan đến TCP, nhưng vẫn cần đọc kỹ một lần. Khi phỏng vấn TiMi, tôi đã trao đổi với interviewer về cuốn sách này.
- 《Nhập môn operating system》: OSTEP rất nổi tiếng, là giáo trình operating system của Đại học Nam Kinh. Khi đọc có thể kết hợp với video của giảng viên Jiang Yanyan trên Bilibili; tôi sẽ đặt link bên dưới.
Nếu hiểu sâu những cuốn sách này, tôi tin rằng khi phỏng vấn bạn có thể trao đổi rất sâu với interviewer, và interviewer cũng sẽ có ấn tượng rất tốt về bạn. Nhưng với người bình thường, chắc chắn không thể nhớ hết sau một lần đọc; quên là hiện tượng hoàn toàn bình thường. Tôi cũng chỉ đọc nhiều cuốn một lần nên không còn nhớ rõ nhiều chi tiết, gần đây đang chuẩn bị đọc lần hai.
Để xem thêm sách đề xuất, bạn có thể tham khảo danh sách sách của JavaGuide, nội dung khá đầy đủ.

Tutorial đề xuất
Với lộ trình học tôi đã đề cập ở trên, tôi khuyên bạn nên học theo video. Tutorial của Shang Silicon Valley và Dark Horse đều được, nhất định phải tự gõ code một lần.
- Operating System: Design and Implementation của Đại học Nam Kinh năm 2021 (Jiang Yanyan): Không cần nói nhiều, xem bình luận là biết.
- Khóa học về giao diện social login, authorization và authentication SpringSecurity-Social-OAuth2: Spring Security do Alphabet giảng cũng rất tốt. Spring Security hoặc Shiro là thứ bắt buộc phải có khi làm dự án, biết một cái là được; hãy chọn dựa trên bối cảnh thực tế và sở thích cá nhân (cười).
- Cấu trúc dữ liệu và thuật toán của Đại học Thanh Hoa, Deng Junhui: Thanh Hoa thì không cần giải thích.
- 45 bài thực chiến MySQL: Chỉ cần xem kỹ 27 bài đầu vài lần là về cơ bản có thể xử lý các vấn đề MySQL gặp trong phỏng vấn.
- Công nghệ cốt lõi và thực chiến Redis: Giải thích nhiều trường hợp sử dụng Redis trong production. Kết hợp với 《Thiết kế và triển khai Redis》, bạn cũng có thể xử lý các vấn đề Redis gặp trong phỏng vấn.
- JavaGuide: Một "hướng dẫn học và phỏng vấn Java" bao quát phần lớn kiến thức cốt lõi mà lập trình viên Java cần nắm vững.
- 《Cẩm nang định hướng phỏng vấn Java》: Đây là một ebook nhỏ hướng dẫn bạn chuẩn bị phỏng vấn hiệu quả hơn, bao quát các chủ đề học thuộc thường gặp (system design, framework phổ biến, distributed system, high concurrency, …), kinh nghiệm phỏng vấn chất lượng, v.v.
Tìm việc
Khoảng tháng 11 năm ngoái, kinh nghiệm phỏng vấn thực tập thường trên Nowcoder bắt đầu xuất hiện nhiều hơn, tôi cũng có ý thức tìm thực tập rồi bắt đầu vừa ôn tập vừa rải hồ sơ. Tôi đã ứng tuyển nhiều công ty nhưng chỉ vài công ty cho cơ hội phỏng vấn. Tôi trượt vòng hai của Tencent hai lần, khi đó tinh thần hoàn toàn sụp đổ, thậm chí từng nghĩ đến việc từ bỏ tuyển dụng mùa xuân. May mắn là cuối cùng tôi đã có được một cơ hội thực tập. Trong thời gian thực tập, ngoài hoàn thành công việc thường ngày, tôi không lơ là vào thời gian còn lại; buổi tối sau giờ làm và cuối tuần đều dùng để ôn tập. Trong lòng tôi cũng âm thầm quyết tâm, đợt tuyển dụng mùa xuân nhất định phải trở lại mạnh mẽ!
Từ cuối tháng 2, tôi bắt đầu rải hồ sơ vào đợt tuyển dụng sớm của Alibaba, về cơ bản đều có phỏng vấn. Ngày mở hệ thống, tôi nhận được 16 email giới thiệu nội bộ. Bạn có thể xem kinh nghiệm phỏng vấn cụ thể trong các bài tôi đã đăng trước đây.
Trong tuần từ ngày 1 đến ngày 7 tháng 3, trung bình mỗi ngày tôi có ba buổi phỏng vấn, thật sự rất suy sụp. Có lúc tôi muốn thi cao học, từng lo âu, từng khóc, từng cười; may mắn là kết quả tốt, cuối cùng tôi cũng đến được Alipay, nơi mình luôn muốn vào.
Tôi chủ yếu muốn đưa ra một số lời khuyên cho mọi người dựa trên tổng kết của bản thân về quá trình phỏng vấn; các cao thủ nếu không đồng ý thì xin đừng ném đá.
Chuẩn bị phỏng vấn
Muốn đi phỏng vấn trước hết phải chuẩn bị một CV. Cá nhân tôi cho rằng một CV tốt nên có ba phần sau:
- Thông tin cá nhân đầy đủ, phần này chắc không cần nói nhiều. Nếu thông tin cá nhân không đầy đủ, interviewer hoặc HR đều không thể liên hệ với bạn. Dù trường không tốt cũng phải ghi vào, vì nghe nói một số công ty không thể đánh giá CV nếu không có thông tin trường. Nếu không học đúng chuyên ngành hoặc trường không nổi tiếng, có thể đặt thông tin học vấn ở cuối.
- Kinh nghiệm dự án/thực tập. Dự án thật sự rất quan trọng, phần lớn thời gian phỏng vấn sẽ xoay quanh dự án. Nếu chuẩn bị tốt dự án, bạn có thể kiểm soát nhịp độ phỏng vấn và dẫn interviewer hỏi về hướng mình giỏi; tôi đã chịu thiệt ở điểm này. Nếu không có dự án thì sao? Bạn có thể tìm một số dự án open source trên GitHub, tự làm theo một lần rồi thêm suy nghĩ và cách hiểu của mình. Ngoài ra, làm dự án không thể chỉ đơn giản là triển khai chức năng, mà còn phải cân nhắc performance và optimization. Interviewer không quan tâm chức năng này được triển khai thế nào, họ muốn biết bạn đã suy nghĩ từng bước ra sao, phương án ban đầu là gì, sau đó chọn phương án nào, performance được cải thiện bao nhiêu và còn có thể cải tiến nữa không.
- Kỹ năng chuyên môn đang có. Bạn có thể viết ngắn gọn những kiến thức chuyên môn đã học, để interviewer có thể hỏi có trọng tâm một số kiến thức nền tảng. Tránh liệt kê dài dòng; phần mình giỏi nhất nhất định phải viết ở trên, sau đó lần lượt viết xuống.
Sau khi viết xong CV là đến bước ứng tuyển. Tốt nhất nên tìm một người giới thiệu nội bộ đáng tin, vì người đó có thể giúp bạn theo dõi tiến độ phỏng vấn, trao đổi với HR khi cần, thậm chí nếu trượt cũng có thể cho bạn biết nguyên nhân và điểm thể hiện chưa tốt. Hiện nay giới thiệu nội bộ không còn là ngưỡng cửa mà là tấm vé vào cửa tối thiểu. Nếu không quen ai để giới thiệu, bạn cũng có thể tìm các đàn anh giới thiệu trên Nowcoder; họ thường rất nhiệt tình.
Trong quá trình phỏng vấn, nhất định không được căng thẳng. Interviewer vòng một có thể chỉ lớn hơn chúng ta vài tuổi và cũng mới đi làm vài năm, nên không cần căng thẳng đến mức không nói được gì. Không biết thì nói không biết rồi cười một chút; biết thì diễn đạt trôi chảy. Phỏng vấn không phải là hỏi một đáp một, mà là giao tiếp và trao đổi. Bạn có thể mạnh dạn nói ra suy nghĩ của mình; năng lực diễn đạt và giao tiếp cũng là một tiêu chí đánh giá trong phỏng vấn.
Cá nhân tôi cho rằng phỏng vấn cũng gần giống theo đuổi một cô gái: đều là nhanh chóng giúp đối phương hiểu mình và phát hiện điểm sáng ở bản thân. Chỉ khác là phỏng vấn nhằm giúp interviewer hiểu trình độ kỹ thuật của bạn. Vì vậy, phần tự giới thiệu trở nên rất quan trọng. Sau khi giới thiệu ngắn gọn thông tin cá nhân, bạn có thể giới thiệu các dự án từng làm. Phần tự giới thiệu nên dài một chút, vì trước buổi phỏng vấn interviewer có thể chưa xem CV của bạn (chạy đây). Tốt nhất nên dành đủ thời gian cho interviewer xem CV. Phần tự giới thiệu, bao gồm giới thiệu dự án, có thể viết thành một tài liệu rồi đọc nhiều lần để có thể nhớ và trình bày trong phỏng vấn; nếu thật sự không được thì cũng có thể đọc theo tài liệu.
Dự án
Tôi vẫn muốn nói kỹ về dự án. Trước đây tôi cho rằng dự án là phần có tính bất định rất lớn, sau khi trải qua phỏng vấn mới biết dự án là phần dễ dẫn dắt interviewer nhất. Ý nghĩa của việc hỏi về dự án là thông qua dự án để hỏi kiến thức nền tảng, nên bạn phải cực kỳ quen thuộc với dự án của mình, cân nhắc các tình huống cực đoan và phương án optimization, hiểu nguyên lý của middleware được sử dụng cũng như cách các middleware đó xử lý những tình huống này. Ví dụ: khôi phục sau khi MQ ngừng hoạt động, Redis cluster, sentinel, cache avalanche, cache breakdown, cache penetration, v.v.
Optimization chủ yếu có thể cân nhắc từ các phương diện như cache, tách rời bằng MQ, thêm index, multi-thread, asynchronous task, dùng ElasticSearch để tìm kiếm. Tôi cho rằng điểm bắt đầu chính của optimization dự án là giảm số lần truy cập database và giảm số lần gọi đồng bộ. Ví dụ, thêm cache và dùng ElasticSearch để tìm kiếm là optimization thông qua giảm truy cập database; tách rời bằng MQ và asynchronous task là optimization thông qua giảm số lần gọi đồng bộ.
Trong dự án còn có thể học được rất nhiều thứ, chẳng hạn những nội dung dưới đây đều có thể học thông qua dự án:
- Kiểm soát quyền (ABAC, RBAC)
- JWT
- Single sign-on
- Sharding database và chia table
- Upload/export theo phần
- Distributed lock
- Load balancing
Tất nhiên còn rất nhiều thứ khác. Dự án của mỗi người khác nhau nên những gì học được cũng khác nhau rất xa. Nhưng điều bạn cần tin là những gì bạn tiếp xúc, interviewer có lẽ đều biết, vì vậy nhất định phải chuẩn bị kỹ, nếu không rất dễ bị vặn hỏi.
Về bản chất, dự án cũng có thể được phân tách thành các chủ đề học thuộc kiểu phỏng vấn; bạn có thể chuẩn bị dự án theo cách chuẩn bị kiến thức nền tảng.
Thuật toán
Việc biến dự án thành các chủ đề học thuộc sẽ tiếp tục khiến việc lựa chọn ứng viên không chính xác, vì vậy xuất hiện tiêu chí đánh giá thứ ba trong phỏng vấn, đó là thuật toán. Trước đây, trong phần hỏi ngược, tôi từng hỏi interviewer việc luyện thuật toán giúp ích cho phương diện nào. Interviewer nói thẳng với tôi rằng luyện bài giúp ích cho việc tìm việc sau này. Quan điểm của tôi là thuật toán cũng có thể được cải thiện thông qua ghi nhớ. Nếu luyện được 200 bài đầu trên LeetCode ba lần, tôi không tin đến lúc phỏng vấn vẫn không thể tự viết lời giải. Vì vậy, trong quá trình ôn tập nhất định phải duy trì luyện thuật toán.
Lời khuyên phỏng vấn
- Cố gắng làm phần tự giới thiệu phong phú hơn một chút và chuẩn bị trước cách giới thiệu dự án.
- Khi gặp câu hỏi không biết trong phỏng vấn, tốt nhất không nên nói thẳng là không biết rồi ngồi im chờ interviewer hỏi câu tiếp theo. Bạn có thể nói mình chưa hiểu rõ phần này nhưng biết một chút về XX, sau đó trình bày. Nếu interviewer hứng thú, bạn có thể tiếp tục; nếu không hứng thú, họ sẽ hỏi câu tiếp theo. Interviewer thường sẽ không ngắt lời, đây cũng là một mẹo nhỏ giúp interviewer nhanh chóng hiểu bạn.
- Cố gắng thể hiện niềm say mê kỹ thuật với interviewer. Chẳng hạn, bạn có thể trao đổi với interviewer về các tính năng mới trong từng version của Java, một số tin tức gần đây trong cộng đồng kỹ thuật, v.v. Theo hiểu biết của tôi, niềm say mê kỹ thuật cũng là một phương diện được Alibaba đánh giá trong phỏng vấn.
- Phỏng vấn là quá trình lựa chọn hai chiều, đừng thể hiện quá xu nịnh.
- Hãy tận dụng tốt phần hỏi ngược, hỏi những nội dung có giá trị như cơ chế đào tạo người mới, cơ chế chuyển chính thức, v.v.
Kinh nghiệm
- Nếu hiện tại bạn là sinh viên năm nhất, được rồi, tôi hy vọng bạn có thể tìm hiểu thêm về các hướng việc làm trong ngành Internet và xem mình hứng thú với điều gì. Trước tiên hãy xây dựng nền tảng vững chắc, chẳng hạn cấu trúc dữ liệu, operating system, computer network và computer organization, vì bốn môn này vừa là môn chuyên ngành mà phần lớn trường dùng để thi cao học, vừa là những vấn đề thường được hỏi trong phỏng vấn.
- Nếu bạn đã là sinh viên năm hai, hãy xác định rõ hướng đi, có năng lực tự thúc đẩy, biết hướng mình học cần nắm những kiến thức nào, học đến mức nào thì có thể tìm việc, sắp xếp thời gian hợp lý và biết ở mỗi giai đoạn mình cần đạt trình độ nào.
- Nếu học vấn của bạn khá bất lợi hoặc bạn không xuất thân từ chuyên ngành liên quan, tôi khuyên bạn nhất định phải nỗ lực nhiều hơn người khác. Vì trong nhiều năm hoạt động trên Nowcoder, tôi thấy kinh nghiệm phỏng vấn thường cho thấy người từ trường tốt hơn được hỏi đơn giản hơn, còn người từ trường tương đối kém hơn bị hỏi khó hơn. Thật ra điều này cũng có thể hiểu được, vì nhìn chung người xuất thân từ trường danh tiếng có năng lực tổng hợp mạnh hơn.
- Cố gắng thực tập sớm. Nếu hiện tại bạn là sinh viên năm hai và đã đạt trình độ có thể đi thực tập, tôi khuyên bạn nên gửi CV sớm, cố gắng tìm thực tập hè. Hãy tin tôi, nếu kỳ nghỉ hè này bạn đi thực tập, năm sau bạn nhất định sẽ có lợi thế áp đảo.
- Tiếp theo ý trên, nếu không tìm được thực tập, hãy cố gắng làm một vài dự án có tính thử thách và tìm được điểm đột phá của dự án đó.
- Luyện bài trên Nowcoder nhiều hơn. Tôi đã làm quen với rất nhiều người cùng chí hướng trên Nowcoder, họ giúp tôi rất nhiều trong quá trình tìm việc.
Đề xuất
- Nhất định phải hỗ trợ lẫn nhau. Các bạn học cùng tìm việc có thể lập một nhóm, dù là bạn cùng trường hay quen trên mạng, hãy thường xuyên trao đổi kinh nghiệm ôn tập. Tổng của n số 1 chắc chắn lớn hơn n.
- Chiều sâu và chiều rộng kiến thức đều rất quan trọng. Hằng ngày nhất định phải tìm hiểu thêm công nghệ mới, hơn nữa mỗi khi học một công nghệ, hãy cố gắng hiểu nguyên lý của nó. Nếu không, thứ bạn học không được xem là Computer Science mà là khoa tiếng Anh, còn vị trí công việc cũng không phải kỹ sư R&D mà là kỹ sư gọi API.
- Vận hành tốt các nền tảng blog như CSDN và Juejin. Tôi có một đàn em năm hai đã là chuyên gia blog CSDN và được headhunter liên hệ. Code viết hằng ngày nên cố gắng commit lên GitHub, dù là dự án hay bài thực hành. Nếu có khả năng, tốt nhất hãy quay một số video rồi đăng lên Bilibili, vì đây là một cách quan trọng để interviewer hiểu năng lực diễn đạt của bạn trước khi phỏng vấn.
- Nhất định phải giữ tinh thần tốt. Phỏng vấn không thuận lợi chưa chắc là vấn đề năng lực của bạn, cũng có thể vì họ tuyển rất ít người hoặc một số điều kiện khách quan không phù hợp với họ. Nhất định phải thử nhiều lựa chọn khác nhau.
- Hãy giao tiếp và trao đổi với mọi người nhiều hơn, đừng chỉ cúi đầu làm việc một mình. Vì sau này vào công ty bạn cũng cần hợp tác với người khác, nên năng lực diễn đạt và giao tiếp là kỹ năng cơ bản cần được rèn luyện sớm.
Tán gẫu
Nói về chênh lệch thông tin
Tôi cho rằng khác biệt giữa các trường không chỉ thể hiện ở trình độ giảng dạy. Đúng là trình độ giảng dạy và thực nghiệm của giảng viên trường danh tiếng đều cao hơn trường yếu, nhưng chênh lệch thông tin mới là khác biệt chính. Học ở trường 985, bạn không chỉ tiếp xúc với nhiều buổi giới thiệu tuyển dụng và hội thảo tại trường của các doanh nghiệp chất lượng cao hơn, mà còn tiếp xúc với bầu không khí việc làm tốt hơn. Vì ở trường danh tiếng có nhiều người vào công ty lớn, công ty nước ngoài, thậm chí ra nước ngoài hơn; giới thiệu nội bộ từ các anh chị chỉ là một mặt, mặt khác là bạn có thể học từ họ những thứ ngoài kỹ thuật. Còn ở các trường không thuộc 985/211, ít người vào công ty lớn, nên ảnh hưởng của họ chỉ đến được một bộ phận nhỏ. Đây chính là chênh lệch thông tin. Bất lợi của chênh lệch thông tin chủ yếu thể hiện ở đâu? Ví dụ, người ta đã bắt đầu tìm thực tập thường từ năm hai, còn bạn cho rằng tìm việc là chuyện năm tư; người ta đã tìm được thực tập hè từ năm ba, còn kỳ nghỉ hè của bạn vẫn phải tham gia khóa đào tạo do trường tổ chức, cứ từng bước như vậy mà bị bỏ lại.
May mắn là sự xuất hiện của Internet khiến thông tin minh bạch hơn. Bạn có thể tìm kiếm trên mạng mọi loại thông tin mình muốn. Chẳng hạn, tôi đã làm quen với một số người cùng chí hướng trên Nowcoder, họ giúp tôi rất nhiều trong quá trình tìm việc. Hằng ngày có thể luyện bài trên Nowcoder nhiều hơn để giảm chênh lệch thông tin một cách hiệu quả.
Nói về sự cạnh tranh quá mức trong Java
Java có cạnh tranh quá mức không? Không còn nghi ngờ gì nữa, rất cạnh tranh. Cá nhân tôi cho rằng phát triển là công việc không có quá nhiều ngưỡng cửa, sinh viên đại học làm rất phù hợp. Nhưng vì các vị trí thuật toán cạnh tranh khốc liệt, nhiều học viên cao học cũng chuyển sang phát triển, hơn nữa phần lớn đều chuyển sang phát triển Java. Sự cạnh tranh quá mức trong Java chỉ do nguyên nhân này sao? Tất nhiên không phải. Tôi cho rằng một nguyên nhân khác là sự phát triển của các trung tâm đào tạo, khiến ngưỡng cửa của ngành này tiếp tục hạ thấp. Bạn cần học gì, học thế nào đều có người sắp xếp sẵn; đây là nguyên nhân thứ hai gây ra cạnh tranh quá mức. Nguyên nhân thứ ba là người không học chuyên ngành chuyển sang coding. Sự suy thoái của các ngành khác và sự phát triển mạnh mẽ của ngành Internet tạo thành tương phản rõ rệt, khiến nhiều người thuộc các chuyên ngành khác cũng tự học Computer Science và tìm việc trong ngành Internet. Điều đó khiến ngày càng nhiều người tham gia ngành này; chiếc bánh chỉ lớn chừng đó nhưng số người chia bánh lại ngày càng đông.
Thật ra cạnh tranh quá mức không nhất thiết là hiện tượng xấu. Điều này cho thấy con đường thăng tiến giai tầng vẫn chưa hoàn toàn khép lại, vẫn có nhiều người sẵn sàng nỗ lực để thay đổi hiện trạng, từ đó cũng thúc đẩy sự phát triển của ngành và xã hội ở một mức độ nhất định. Quyền lựa chọn nằm trong tay bạn. Bạn có thể chọn về quê sống an nhàn hoặc vào công ty Internet để cạnh tranh. Nếu chọn phương án sau, lời khuyên của tôi vẫn là chiếm chỗ càng sớm càng tốt, vì điều duy nhất không thay đổi là sự thay đổi; bạn không bao giờ biết ba năm sau sẽ thế nào.
Lời chúc
Chúc mọi người tiền đồ xán lạn!
Lời cuối
Nếu nội dung hữu ích với bạn, hãy tiện tay tặng JavaGuide một Star miễn phí để ủng hộ: GitHub | Gitee.
JavaGuide đã được duy trì gần bảy năm, tích lũy 6100+ commit, với sự chung tay hoàn thiện của 620+ contributor. Star, phản hồi và PR của bạn đều là động lực để dự án tiếp tục cập nhật.
Nếu bạn đang chuẩn bị phỏng vấn backend / phát triển ứng dụng AI, có thể tham khảo Knowledge Planet của tôi, bao gồm các project thực tế về backend và AI, tối ưu CV, hỏi đáp 1-1 và tài liệu về các trọng điểm thường gặp, đã được duy trì liên tục sáu năm.
