Thuật toán và lập trình

Thuật toán và lập trình Cấu trúc dữ liệu và giải thuật

Khi AI xuất hiện, sinh viên mới ra trường nên chuẩn bị gì?Mình nhớ năm 2012, khi vừa ra trường với tấm bằng kỹ sư Điện c...
14/04/2026

Khi AI xuất hiện, sinh viên mới ra trường nên chuẩn bị gì?

Mình nhớ năm 2012, khi vừa ra trường với tấm bằng kỹ sư Điện của Bách Khoa, chỉ với một chút nền tảng toán và tiếng Anh, sau một vòng test GMAT và một buổi phỏng vấn offline, mình may mắn nhận được offer vị trí Software Engineer tại SVMC (nay là SRV Samsung).

Tuy nhiên, đến khoảng năm 2026, những cơ hội như vậy dần không còn rộng mở cho người trái ngành nữa, thậm chí ngay cả các bạn học đúng chuyên ngành CNTT cũng gặp nhiều khó khăn hơn. Yêu cầu từ phía nhà tuyển dụng ngày càng cao và chuẩn hóa hơn.

Để thích nghi với bối cảnh mới, mình nghĩ các bạn sinh viên sắp ra trường hoặc mới tốt nghiệp nên chủ động học cách làm việc cùng AI, lựa chọn một domain để đào sâu, đồng thời rèn luyện tư duy tổng quan và kỹ năng làm việc nhóm.

Hãy cố gắng xây dựng ít nhất một dự án thực tế và nhờ các anh chị đi trước review. Một CV có dự án rõ ràng và có chiều sâu chắc chắn sẽ giúp các bạn nổi bật hơn và mở ra nhiều cơ hội hơn.

08/12/2021

[Hà Nội] UKG Group tuyển dụng Kỹ sư lập trình Nhúng ( Offer Upto 2k$)
👉Yêu cầu:
• Có ít nhất 4 năm kinh nghiệm lập trình nhúng
• Có kiến thức về mạch điện tử, vi xử lý, hệ điều hành, kỹ thuật lập trình, kiến trúc máy tính
• Có khả năng sử dụng tốt ngôn ngữ lập trình C/C++.
• Có kiến thức về các chuẩn giao tiếp cơ bản (UART, SPI, I2C, CAN, Ethernet…).
• Có kinh nghiệm làm việc với hệ điều hành Linux.

👉Quyền lợi:
• Lương: Upto 2k$
• Làm việc trong môi trường thân thiện, Team hiện tại gồm 14 members(1 thủ khoa Bách Khoa K50, 1 master từ Seoul National University, 1 SA từ Vinsmart, và nhiều các kỹ sư trẻ khác).
• Được hưởng đầy đủ các chế độ theo Luật Lao động Việt Nam.
• Trợ cấp: ăn trưa+ gửi xe
⏰Thời gian làm việc: T2- T7
📍 Địa điểm: Văn Phú, Hà Đông, Hà Nội
-------
Cmt/ib nhận JD cụ thể
CV apply gửi về: zeroproject0(skype) hoặc email: [email protected]

UKG Tech tuyển lập trình viên React Native, offer  up to 1k5$, làm việc tại Văn Phú, Hà Đông. AE nào hứng thú, inbox mìn...
30/11/2021

UKG Tech tuyển lập trình viên React Native, offer up to 1k5$, làm việc tại Văn Phú, Hà Đông. AE nào hứng thú, inbox mình hoặc email mình nhé :)

Thuật toán quan trọng như nào?Một người bạn cấp 3 của mình cùng một lúc, được offer vào Yahoo Research, Amazon, IBM Rese...
17/12/2018

Thuật toán quan trọng như nào?

Một người bạn cấp 3 của mình cùng một lúc, được offer vào Yahoo Research, Amazon, IBM Research, Microsoft ở Mỹ, một trong những yếu tố quan trọng để anh ấy pass interview là thuật toán.

Binary Search Tree (BST) hay cây tìm kiếm nhị phân là một cấu trúc dữ liệu, ứng dụng để implement Dictionary, multilevel...
22/11/2018

Binary Search Tree (BST) hay cây tìm kiếm nhị phân là một cấu trúc dữ liệu, ứng dụng để implement Dictionary, multilevel indexing trong Database, searching algorithms...

Thế nào là BST ?

https://vi.wikipedia.org/wiki/C%C3%A2y_t%C3%ACm_ki%E1%BA%BFm_nh%E1%BB%8B_ph%C3%A2n

Cây tìm kiếm ứng với n khóa k1, k2, k3,...kn là cây nhị phân mà mỗi nút đều được gán một khóa sao cho với mỗi mỗi nút k:

Mọi khóa trên cây con trái đều nhỏ hơn khóa trên nút k
Mọi khóa trên cây con phải đều lớn hơn khóa trên nút k

Challenge:
Cho 1 object Tree, hãy kiểm tra xem đó là BST hay không?

Ex1:
{
"value": 5,
"left": {
"value": 3,
"left": {
"value": 2,
"left": null,
"right": null
},
"right": null
},
"right": {
"value": 8,
"left": {
"value": 6,
"left": null,
"right": null
},
"right": {
"value": 9,
"left": null,
"right": null
}
}
}
=> true

Ex2:
{
"value": 9,
"left": {
"value": 8,
"left": {
"value": 2,
"left": null,
"right": null
},
"right": {
"value": 6,
"left": null,
"right": null
}
},
"right": {
"value": 5,
"left": null,
"right": null
}
}
=> false

Tic-Tac-ToeTic-Tac-Toe hay cờ caro là cờ khá nổi tiếng với nhiều thế hệ học sinh.Tèo và Tí chơi các ván cờ caro, Tèo là ...
16/11/2018

Tic-Tac-Toe
Tic-Tac-Toe hay cờ caro là cờ khá nổi tiếng với nhiều thế hệ học sinh.
Tèo và Tí chơi các ván cờ caro, Tèo là người đi đầu tiên( đi 'X'), Tí đi tiếp theo di ('O'),
cứ lần lượt như vậy 2 người đi từ 0 tới 8 trong ma trận 3x3.

Yêu cầu: xác định được ai là người thắng, nếu là Tèo return 'X', nếu là Tí return 'O', nếu hòa return 'draw'
Ví dụ:
game = ["425",
"108",
"376"]
.. ... .X. .X. XX. XXO XXO X. OX. OX. OX. OX. OX. OX. .. ... ... O.. O.. O.. O.X

0 1 2 3 4 5 6

=> 'X'

game = ["645",
"732",
"081"]

=> 'draw'

game: ["301",
"426",
"875"] => 'X'

game: ["843",
"025",
"761"] => 'O'

https://app.codesignal.com/challenge/fCGr5sdmh4LdYbai4Làm thuật toán trên codesignal không những cải thiện khả năng đọc ...
08/10/2018

https://app.codesignal.com/challenge/fCGr5sdmh4LdYbai4

Làm thuật toán trên codesignal không những cải thiện khả năng đọc hiểu bằng tiếng Anh cho các bạn,
mà còn giúp cải thiện tư duy giải thuật.

Challenge hôm nay sửa đi 1 ít sẽ là BFS/DFS, tuy nhiên bài này chỉ duyệt thông thường vì nó chỉ xét các điểm xung quanh ngay cạnh nó.

Đề bài khá dài nhưng tóm lại có mấy ý như sau:
Cho bạn một ma trận hình chữ nhật, trong đó có các giá trị : -1, 0, và từ 1 đến 9.
-1: ghế trống, bạn có thể ngồi.
0: Bạn không thể ngồi.
từ 1 đến 9: thể hiện mức độ friendly( thân thiện) của những người bạn xung quanh ngay cạnh chỗ bạn có thể ngồi(xét theo 8 hướng).

Hỏi, hãy tìm vị trí [i, j] mà có tổng mức độ thân thiện lớn nhất, nếu có nhiều điểm thì lấy điểm có i nhỏ nhất, nếu có nhiều i bằng nhau thì lấy j nhỏ nhất.

Ví dụ:

classLayout = [[0,0,0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0,0,0],
[0,3,6,0,3,-1,0,2,3,0],
[0,0,0,0,0,0,0,0,0,0],
[0,8,3,0,8,8,0,9,7,0],
[0,0,0,0,0,0,0,0,0,0],
[0,-1,3,0,5,1,0,8,1,0],
[0,0,0,0,0,0,0,0,0,0],
[0,2,-1,0,3,4,0,4,5,0],
[0,0,0,0,0,0,0,0,0,0]]

the output should be [2, 5].
Có 2 vị trí cho kết quả friendliness lớn nhất = 3, đó là [2,5] và [6,1]. Ta chọn kết quả [2,5]

https://app.codesignal.com/challenge/fCGr5sdmh4LdYbai4

Ms. Jackson is a talented and inspiring math teacher. She always finds a way to keep even the most disinterested student...
02/10/2018

Ms. Jackson is a talented and inspiring math teacher. She always finds a way to keep even the most disinterested students engaged in her lessons. Today's lesson was on fractions, which tends to be an exhausting subject for most students, so to maintain the class's interest and motivation, she decided to offer extra credit to anyone brave enough to solve her extra-challenging problem on repeating decimal numbers.

You've learned that some fractions produce repeating decimals (for example 2 / 3 = 0.666...). Ms. Jackson has also taught you that each repeating decimal number can be expressed as a fraction. So with these facts in mind, you'll be given a repeating decimal number, as well as the denominator of the fraction that produced it, and you'll have to find the numerator!

Your friend Bob tends to struggle with math, so he could really use the extra credit, but he's not really sure how to solve this type of problem. You figure Bob might get it after seeing several different examples, so you'd like to write an algorithm for solving this type of problem efficiently, so that Bob can check his answers against your algorithm's results.

Notes:

Parentheses will be used to represent the repeating part of the decimal (eg: 3.6(81) means 3.6818181...)
If the decimal has a repeating part, it'll always begin after the decimal point.
It's guaranteed that for each decimal and denominator, there is a valid integer value for the numerator.
Example

For decimal = "0.(3)" and denominator = 3, the output should be 1.

example 1

For decimal = "0.0(25)" and denominator = 594, the output should be 15.

example 2

For decimal = "4.6" and denominator = 5, the output should be 23.

example 3

For decimal = "3.6(81)" and denominator = 264, the output should be 972.

example 4

decimal: "0.(856423173803526448362720403022670025188916876574307304785894206549118387909319899244332493702770780)"
denominator: 397 => output: 340

https://app.codesignal.com/challenge/fRE4enG7w5fgZAcEy

It's true.
11/09/2018

It's true.

Address

Hanoi

Website

Alerts

Be the first to know and let us send you an email when Thuật toán và lập trình posts news and promotions. Your email address will not be used for any other purpose, and you can unsubscribe at any time.

Contact The Organization

Send a message to Thuật toán và lập trình:

Share