Developer Resources
Duyệt các bài viết được gắn thẻ Developer Resources
97 bài viết

Bí mật giúp bạn thành công khi phỏng vấn (P1)
Nếu bạn đã từng tham gia phỏng vấn, hoặc tìm kiếm trên Google về vấn đề này, rất có thể bạn đã nghe nói về cuốn sách bán chạy Cracking the Coding Interview của tác giả Gayle Laakmann McDowell . Cuốn sách của McDowell đã nhanh chóng trở thành tác phẩm kinh điển cho những ai muốn làm việc cho những gã khổng lồ như Facebook , Amazon và Salesforce . Với sơ yếu lý lịch bao gồm các vị trí tại Google , Microsoft và Apple , cô ấy có đủ uy tín và kinh nghiệm để viết nên tuyệt phẩm đó. 300+ vị trí PHP đang chờ bạn tại Station D Gần đây, McDowell đã nói chuyện với Emily Moore của Glassdoor để chia sẻ một số mẹo hay để vượt qua các kỳ phỏng vấn cam go – hãy cùng xem để biết cách thể hiện tốt trong buổi phỏng vấn tại các công ty mà bạn luôn mơ ước. Glassdoor: Giữa HackerRank, whiteboarding, paired programming v.v Hiện nay các kiểu phỏng vấn rất đa dạng. Theo chị ứng viên thực sự mong muốn điều gì nhất ở một buổi phỏng vấn ? McDowell: Một buổi phỏng vấn điển hình bắt đầu với một hoặc hai cuộc phỏng vấn qua điện thoạ i (ít nhất một trong số đó là về kĩ thuật), tiếp theo sẽ có từ 4 đến 6 buổi phỏng vấn tại công ty. Trong những buổi phỏng vấn tại công ty, một trong những loại câu hỏi phổ biến là câu hỏi về hành vi. Những câu khác sẽ nghiêng về kĩ thuật, thường bao gồm coding / thuật toán, thiết kế hoặc các kiến thức công nghệ chuyên sâu và kĩ năng. Một buổi phỏng vấn bình thường diễn ra từ 45...

Học lập trình nên mua laptop hay PC (máy tính để bàn)?
Một trong những câu hỏi lớn mà những ai bắt đầu học lập trình thường đặt ra là: “ Học công nghệ thông tin nên mua laptop hay PC ? Việc lựa chọn một thiết bị phù hợp để đồng hành cùng hành trình chinh phục thế giới lập trình là quyết định quan trọng. Mỗi thiết bị, dù là laptop hay máy tính để bàn, đều sở hữu những ưu điểm và hạn chế riêng, phù hợp với từng nhu cầu và mục tiêu khác nhau. Bài viết này của Station D sẽ cung cấp một cái nhìn tổng quan và sâu sắc về hai lựa chọn này, giúp bạn đưa ra quyết định sáng suốt nhất. Tại sao nên sử dụng Laptop để lập trình? Laptop ra đời để giải quyết các vấn đề về kích thước, khối lượng cũng như tính di động mà PC không thể đáp ứng được. Laptop với thiết kế nhỏ gọn, dễ dàng mang theo và sử dụng ở bất kỳ đâu. Thông thường, laptop được trang bị pin, giúp người dùng có thể sử dụng mà không cần kết nối với nguồn điện liên tục. Đây là một lợi thế lớn cho những ai cần di chuyển thường xuyên hoặc học tập ở nhiều không gian khác nhau. Ưu điểm Tính di động: Laptop cho phép bạn học lập trình ở bất kỳ đâu, từ lớp học, văn phòng làm việc hay quán cà phê. Tiết kiệm không gian: Nếu bạn sống trong không gian nhỏ, laptop là lựa chọn tối ưu hơn so với PC. Không cần nguồn điện: Laptop thường được trang bị pin, cho phép sử dụng mà không cần kết nối với ổ điện. Điều này rất hữu ích khi bạn ở những nơi không có ổ...

Product Manager là gì? Chân dung của một Product Manager
Cụm từ “ Product Manager ” không còn là thuật ngữ xa lạ với cộng đồng IT – Lập trình trong những năm gần đây. Đối với nhiều bạn đã trong ngành một thời gian đang muốn thăng tiến nghề nghiệp, thì giấc mơ Product Manager là vô cùng có sức hấp dẫn. Tại Việt Nam hiện không ít các sự kiện về Product Manager , các buổi sharing cũng như định hướng nghề cho một Product Manager. Vị trí là cánh cửa đối với gần như mọi background ngành nghề: Bạn có thể đi từ lập trình, thiết kế, hoặc mới tốt nghiệp ngành kinh doanh, phân tích viên tại công ty,… Gần như không có giới hạn. Tuy nhiên, bề nổi có sang có hay đấy, nhưng để đến được đấy thì còn nhiều thứ cần làm rõ – hiểu sâu & mài dũa thì mới bước tiếp được. Bài viết bên dưới sẽ “vẽ” ra chi tiết hơn về “bức tranh” Product Manager cho những ai đang đuổi mây và những gì họ cần chuẩn bị nếu như đang hướng đến vị trí này. Hiểu về Product Manager là gì? Nói về Product Manager (Người quản lý sản phẩm) không dễ để có được một định nghĩa chính xác và đầy đủ nhất, bởi mỗi công ty có một kiểu định nghĩa khác nhau. Trên thực tế, Product Manager chính là người quản lý sản phẩm, chịu trách nhiệm chính, dẫn dắt và liên kết các bộ phận với nhau để cùng thực hiện mục tiêu nhất định. Nói một cách chính xác hơn thì PM chính là cầu nối giữa UX, Technology và Business. Business – Ưu tiên trên hết của việc quản lý sản phẩm là business: tập trung vào tối đa hóa giá trị...

Kỹ thuật phần mềm vs Khoa học máy tính – Nên chọn ngành nào/
Xin chào mọi người! Tên tôi là YK, hiện đang quản lí CS Dojo, một kênh YouTube giáo dục lập trình với hơn 200.000 người đăng ký. Tôi cũng từng là một nhà phát triển phần mềm tại Google. Trong quá trình làm ra các video, tôi thường được hỏi hai câu hỏi phổ biến: “Sự khác biệt giữa khoa học máy tính và phần mềm kỹ thuật phần mềm là gì?” Và … “Tôi có nên chọn khoa học máy tính hay kỹ thuật phần mềm để trở thành một kỹ sư phần mềm?” Trong bài viết này, tôi sẽ trả lời các câu hỏi trên và đưa cho bạn phân tích nhanh về những chuyên ngành này. Tổng quan nhanh về hai chuyên ngành này Khoa học máy tính là nghiên cứu về cách các máy tính hoạt động, chủ yếu từ quan điểm lý thuyết và toán học. Bạn nên chọn Khoa học máy tính nếu bạn thích toán học, logic hoặc nếu bạn muốn tham gia vào một lĩnh vực chuyên biệt trong CS chẳng hạn như trí tuệ nhân tạo, học máy, an ninh, hoặc đồ họa. Kỹ thuật phần mềm là nghiên cứu về cách thức các hệ thống phần mềm được xây dựng, bao gồm các chủ đề như quản lý dự án, đảm bảo chất lượng và kiểm tra phần mềm. Bạn nên chọn kỹ thuật phần mềm nếu bạn quan tâm nhiều hơn đến cách thực hành và nếu bạn muốn tìm hiểu chu kỳ sống chung của phần mềm được xây dựng và duy trì như thế nào. Cả Khoa học máy tính và kỹ thuật phần mềm đều dạy các nguyên tắc cơ bản của lập trình và khoa học máy tính, vì vậy bạn vẫn có thể chọn...

Google Maps và React
Nhúng Google Maps vào web site bình thường thì quá sức đơn giản, để sử dụng với React Js thì hơi vụng công một chút. Để sử dụng Google Maps API, ta chỉ cần load đoạn js từ googleapis, chèn thêm một cái div với id là map chằng hạn. <!DOCTYPE html> <html> <head> <title>Basic Google Map on a web page</title> </head> <body> <div id="map"></div> <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&"></script> </body> </html> Đoạn script của google sẽ được load sau khi có static DOM, cái <div id='map' /> lúc đó đã tồn tại và có thể được sử dụng thoải mái bởi google maps api. Việc làm React lương cao không cần kinh nghiệm Nhưng mà trong React JS thì DOM được render và re-render từ virtual DOM , một file html của app React JS thường là chỉ có thế này <!DOCTYPE html> <html> <head> <title>Simple React app</title> </head> <body> <div id="app"></div> <script src="js/app.js"></script> </body> </html> Tức là nếu làm như cách bình thường ở trên thì cái <div id='map' /> chưa hề tồn tại trên xã hội. Load bất đồng bộ (Asynchronous Loading) Cả hai đoạn script React và Google maps đều phải tốn thời gian để load, chúng ta phải đảm bảo Google Map chỉ được tạo ra sau khi React app đã khởi tạo và render DOM xong. Thoạt nhìn thì dùng asyn google map sẽ là một giải pháp. <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script> Chúng ta thêm asyn và defer để load đoạn googleapis này sau cùng, đồng thời thêm hàm callback sau khi load xong. Nếu initMap là một global function thì ta có thể gọi nó bên trong React Component function initMap() { map = new google.maps.Map(document.getElementById('map'), { ... }); } Buồn thay! Không chạy đâu các bạn ạ. Ngay cả khi Google Maps chỉ được load...

Jira Software – Tìm hiểu tính năng và cách sử dụng JIRA
JIRA là một công cụ phát triển phần mềm mạnh mẽ được sử dụng rộng rãi để quản lý dự án và theo dõi các vấn đề. Hiện nay, JIRA đang dần trở thành một trong những công cụ hàng đầu trong việc hỗ trợ các đội ngũ phát triển phần mềm quản lý công việc của họ. Trong bài viết sau, cùng Station D tìm hiểu thật chi tiết về các tính năng cũng như cách sử dụng Jira. Jira là gì? Jira Software là ứng dụng làm việc cho phép các nhóm theo theo dõi các vấn đề (issue) cần xử lí, quản lý dự án và tự động hóa quy trình làm việc, do công ty phần mềm Atlassian của Úc phát triển. Đây là một công cụ phổ biến trong các đội ngũ phát triển phần mềm để lập kế hoạch, theo dõi và phát hành các dự án phần mềm. JIRA cung cấp một nền tảng tập trung để quản lý các nhiệm vụ, lỗi và các loại vấn đề khác, giúp các đội ngũ tổ chức sắp xếp và ưu tiên công việc của họ. Cùng xem video ngắn giới thiệu về Jira: Tính năng chính của Jira Quản lý dự án linh hoạt: Jira hỗ trợ nhiều loại dự án khác nhau, từ phần mềm, kinh doanh đến các dự án phi kỹ thuật. Người dùng có thể tùy chỉnh quy trình làm việc (workflow) để phù hợp với nhu cầu cụ thể của dự án. Theo dõi vấn đề (Issue Tracking): Jira cho phép theo dõi và quản lý các vấn đề, lỗi, nhiệm vụ và các loại công việc khác nhau. Mỗi vấn đề có thể được gắn với người chịu trách nhiệm, trạng thái, mức độ ưu tiên và các...

Sinh viên IT cần trang bị gì khi tìm việc
Sau những năm mòn mông trên ghế nhà trường, chắc hẳn ai cũng có mong muốn có được công việc ổn định, lo được cuộc sống hiện tại và tương lai. Nhưng đường đời không hề bằng phẳng, ra trường bạn mang một nhiệt huyết muốn cống hiến muốn làm đúng chuyên ngành để phát triển bản thân nhưng rồi tình trạng chung lại xuất hiện, gửi nhiều nơi nhưng không có nơi nào gọi. Bạn không biết vì sao, bạn không biết bạn thiếu gì thì hãy đoc bài viết này góp phần hỗ trợ các bạn sinh viên IT cách nhìn nhận lại cái mình còn thiếu và cần trang bị những gì khi tìm kiếm công việc. Kiến thức Đây là điều tiên quyết bạn cần có khi tìm kiếm công việc. Kiến thức sẽ là yếu tố để nhà tuyển dụng nhìn nhận những yếu tố bên ngoài của bạn để xem xét bạn phù hợp không. Ví dụ bạn là lập trình PHP nhưng công ty bạn mong muốn làm thì lại tuyển Java thì bạn đã vào thế yếu rồi. Nhưng nếu như bạn chưa tích lũy đủ thì cũng đừng quá băn khoăn, bạn vẫn có cơ hội update kiến thức dần dần, miễn là trong chính bản thân bạn có động lực thúc đẩy bạn làm điều đó. Tham khảo: Các vị trí tuyển dụng IT parttime hấp dẫn tại Station D Ngoại ngữ Ngoại ngữ là một trong những yếu tố cần thiết đối với ngành IT ngoài kỹ năng chuyên môn. Hầu hết các tài liệu nghiên cứu về ngành IT đều bằng tiếng Anh, vì công nghệ nước ngoài đi trước chúng ta, công nghệ tại Việt Nam mới kế thừa và phát triển sau này nên tài liệu...

Quy tắc 333 hay là phiếm đàm về chuyện phỏng vấn Senior Developer
Có thể nói vào những năm gần đây, phỏng vấn không còn đơn thuần là hoạt động một chiều, với việc các công ty có toàn quyền đánh giá ứng viên theo các tiêu chí mà mình đưa ra, mà giờ đây các ứng viên thông qua buổi phỏng vấn còn đánh giá ngược lại công ty, xem có đủ tốt, phù hợp để mình quyết định gắn bó không. Trong phạm vi của bài viết này, tôi cũng cho rằng phỏng vấn lập trình viên senior là một công việc khá thú vị và thách thức. Bởi đó không chỉ là việc đánh giá năng lực của ứng viên xem có đạt được các yêu cầu, tiêu chuẩn mong đợi, mà còn xem xét đến các yếu tố, về sự thích nghi với môi trường, văn hoá, sự phù hợp với đường hướng phát triển trong tương lai của công ty hay không. Thật khó để làm tốt việc này nếu không có sự chuẩn bị chu đáo. Quy tắc 333 Sau rất nhiều tự đánh giá bản thân, rằng mình đã làm tốt vai trò của một nhà tuyển dụng hay chưa. Tôi phải thú nhận một sự thật là: không ít lần tôi đã làm không tốt. Đôi lần cảm thấy xấu hổ vì những ngớ ngẩn của mình. Liệu có lần nào đó đã đánh giá sai lầm làm tuột mất người giỏi, hoặc là làm ứng viên nghĩ không tốt về công ty. Đó đã là những áp lực không nhỏ, và sau khoảng thời gian khủng hoảng đó, tôi tạo ra một bộ quy tắc 333 nhằm giúp mình làm tốt việc này. Quy tắc 1, nhằm để định nghĩa, xác định như thế nào là một Senior. Quy tắc 2, nhằm để chứng...

‘Toát mồ hôi’ phỏng vấn tuyển dụng vào Apple
Apple là một trong những môi trường làm việc phấn khích nhất, nhưng cũng thách thức nhất thế giới. Vì thế, được làm việc tại đó hiển nhiên không phải chuyện dễ dàng. Cũng như ở Google và các đại gia công nghệ khác, ứng viên xin việc vào Apple nhận được những câu hỏi chuyên môn kỹ thuật dựa trên kinh nghiệm của họ, nhưng không thể tránh được những bài toán “siêu xoắn não”, tùy vào vị trí mà họ nhắm đến. “Hãy giải thích với một em bé 8 tuổi modem/router là cái gì và chức năng của nó” – là câu hỏi cho ứng viên vị trí tư vấn tại gia. “Ai là bạn thân nhất của bạn?” – chuyên gia phòng sinh hoạt gia đình. “Nếu như bạn có 2 quả trứng, bằng cách nào bạn xác định được tầng cao nhất mà khi thả trứng, trứng vẫn không vỡ? Đâu là giải pháp tối ưu nhất?” – kỹ sư phần mềm. “Hãy kể lại một vấn đề thú vị và cách bạn đã giải quyết nó” – kỹ sư phần mềm. “Mỗi ngày có bao nhiêu em bé được sinh ra?” – giám đốc nguồn cung ứng toàn cầu. “Hãy mô tả về bản thân, điều gì khiến bạn phấn khích?” – kỹ sư phần mềm. “Nếu chúng tôi tuyển bạn, bạn muốn làm việc gì?” – kỹ sư phần mềm cấp cao. “Có 3 chiếc hộp, một hộp chỉ đựng táo, một hộp chỉ đựng cam, hộp còn lại có cả táo lẫn cam. Các hộp này đã bị dán nhãn sai nên không nhãn nào phản ánh đúng loại quả bên trong. Chỉ mở một hộp và không nhìn vào bên trong, lấy ra 1 quả. Nhìn vào quả đó, liệu bạn...

Đi phỏng vấn vị trí React Native cần trang bị những gì?
Bài viết này Station D sẽ tổng hợp một loạt các câu hỏi phỏng vấn React Native , phù hợp với mọi cấp độ lập trình viên React Native. Dưới đây là danh sách 30 câu hỏi phỏng vấn về React Native kèm theo câu trả lời ngắn gọn. Câu hỏi phỏng vấn React Native cơ bản React Native khác gì so với ReactJS? React Native là một framework cho phép phát triển ứng dụng di động đa nền tảng bằng cách sử dụng cùng một mã nguồn, trong khi ReactJS là một thư viện JavaScript chủ yếu dùng để xây dựng giao diện người dùng cho các ứng dụng web. React Native sử dụng các thành phần UI native, trong khi ReactJS sử dụng DOM ảo để tối ưu hóa việc cập nhật giao diện người dùng trên web. Liệt kê các điểm chính để tích hợp React Native vào ứng dụng Android hiện có. Các điểm chính bao gồm: thêm các dependencies cần thiết vào dự án Android, thiết lập môi trường React Native CLI, tạo và liên kết một gói mới từ React Native vào dự án, và cuối cùng là tích hợp mã React Native với mã Android gốc. Mô tả mạng trong React Native và cách thực hiện các cuộc gọi mạng AJAX trong React Native? Mạng trong React Native được quản lý bằng cách sử dụng các phương thức AJAX tiêu chuẩn như fetch hoặc thư viện Axios. Các cuộc gọi mạng có thể được thực hiện bằng cách sử dụng fetch để lấy dữ liệu từ một API, xử lý nó và cập nhật state của ứng dụng. Props Drilling là gì và làm thế nào để tránh nó? Props Drilling là hiện tượng truyền props qua nhiều cấp của component, có thể...

Sinh viên CNTT làm thế nào để học tốt ở trường đại học?
Tôi vẫn còn nhớ rõ thời điểm này cách đây đúng bốn năm. Khi ấy, tôi và các bạn cùng khoá vừa bước vào giảng đường đại học. Nỗi băn khoăn lớn nhất của tôi vào lúc ấy là câu hỏi trên. Tôi đã từng thấy rất nhiều người tài giỏi xuất thân ngành CNNT , nhưng cũng nghe rất nhiều anh chị than thở về việc học ở đây, học CNTT như thế nào cho đúng. Phải có điều gì tạo nên sự khác biệt, và tôi luôn thôi thúc bản thân mình tìm ra câu trả lời chính xác nhất. Trong suốt thời gian học CNTT, tôi quan sát những người học trên mình vài khoá, học hỏi từ các bạn bè, và tự rút tỉa từ các kinh nghiệm bản thân. Qua những điều đã học, tôi nhận ra rằng hoàn toàn có thể học tốt ngành CNTT, và điều tạo nên sự khác biệt chính là phương pháp. Vài hôm trước, có bạn sinh viên khoá dưới hỏi tôi rằng: “Làm sao để học tốt CNTT?” Thật thú vị. Bốn năm đã qua, giờ đây tôi gặp lại câu hỏi trên. Đó chính là động lực khiến tôi phác thảo ra bài viết này. Bài viết này phục vụ cho ai? Thứ nhất, tôi muốn truyền đạt những kinh nghiệm của mình cho các bạn sinh viên chuẩn bị vào trường. Kể cả các bạn sang năm hai cũng có thể tìm thấy những điều bổ ích ở đây. Các bạn còn rất nhiều cơ hội phía trước. Ngoài ra, các bạn sinh viên năm ba, bốn vẫn có thể cùng tôi chia sẻ những phương pháp được giới thiệu ở đây. Bởi vì, không có gì là quá muộn để bắt đầu. Hy vọng bài...

13 điều giúp ứng viên… rớt phỏng vấn xin việc
Chuyên viên tuyển dụng tại Glassdoor, cho biết cô đã được chứng kiến vô vàn các sai lầm mà các ứng viên mắc phải, với hậu quả là họ tự đánh mất cơ hội xin việc của mình. Hichens cho biết: “Điều tồi tệ nhất là nhiều người đến phỏng vấn mà không hề chuẩn bị trước. Ví dụ như, họ không nghiên cứu về công ty, họ không tìm hiểu về vị trí ứng tuyển, về người đang trực tiếp phỏng vấn mình, và cũng chẳng buồn chuẩn bị câu hỏi ngược lại cho nhà tuyển dụng.” Tuy nhiên, theo Hichens, việc thiếu chuẩn bị vẫn chưa phải là lý do lớn nhất để nhà tuyển dụng loại bỏ một ứng viên. Thay vào đó, việc đến muộn, hay thậm chí không thèm đến phỏng vấn, sẽ gần như đảm bảo cho bạn một suất “ra về tay không” dù bạn có là một ngôi sao sáng tới đâu đi chăng nữa. Hichens cho rằng: “Đến trễ cuộc phỏng vấn mà không có bất kì lời giải thích nào, hoặc không gửi email/gọi điện trước thông báo việc đến trễ là một điều tối kỵ. Điều này chắc chắn sẽ hạ knock out 99% số người phỏng vấn. Ít nhất, nếu đến trễ như vậy, hãy gọi và đưa ra một lời giải thích, hoặc bạn có thể đề nghị lên lịch lại chẳng hạn. Quan trọng nhất, hãy nhớ gửi lời xin lỗi đến nhà tuyển dụng vì sự bất tiện này”. Với nỗ lực giúp đỡ những người đang tìm việc tránh những sai lầm có thể xảy ra, Hichens đã soạn ra danh sách 13 điều bạn nên tránh, dù là bạn đang phỏng vấn cho vị trí thực tập hay giám đốc: 1. Nói xấu...