ViecOi Tìm việc làm & Đăng tin tuyển dụng Miễn phí - Google Play & App Store
Install ×
 Việc làm  /  Cẩm nang nghề nghiệp / Lời khuyên nghề nghiệp / 3 Cách để nâng cao khả năng giải quyết trong phỏng vấn hàm tin học

3 Cách để nâng cao khả năng giải quyết trong phỏng vấn hàm tin học

  • 23/05/2016
  • |
  • Lượt xem: 598

3-cach-nang-cao-kha-nang-giai-quyet-trong-phong-van-ham-tin-hoc

Bạn đây rồi. Thật an tâm. Và kiệt sức. Cuối cùng bạn đang tiến gần đến việc giải quyết những câu hỏi về hàm tin học rắc rối mà nhà tuyển dụng yêu cầu rồi. Có lẽ bạn đã viết chúng lên bảng, từng hàng một. Và bạn đã làm tốt! Bạn chỉ có 20p để thể hiện và nhà tuyển dụng của bạn cần phải ấn ượng.

Đúng chứ?

 “Nó sẽ ấn tượng, nhưng làm thế nào để khiến nó càng ấn tượng hơn?”

Trái tim bạn chùng xuống. Bạn nghĩ bạn đã làm tốt với phần thiết kế thuật toán rắc rối! Bạn cố để nghĩ nhiều cách giải quyết hơn cho vấn đề này, nhưng tất cả những gì bạn có thể nghĩ là một cách tiếp cận mà bạn vừa phát hiện ra.

Điều này xảy ra với nhiều người. Và nó không phải bởi vì họ ngu ngốc. Đó là bởi vì mọi ngưởi không có phương pháp để cải thiện năng lực làm việc với những thuật toán.

Nhưng sự thật thì, có rất nhiều cách. Lần tới nếu bạn bối rối, hãy thử áp dụng những cách mà VIECOI.VN giới thiệu nhé!

1. Sử dụng Hashmap

Hoàn toàn đúng đắn. Hash maps/associative arrays/dictionaries (Chúng có nhiều tên gọi, tùy vào ngôn ngữ chương trình bạn sử dụng) có khả năng thần kỳ trong việc giảm thời gian làm việc với thuật toán.

Ví dụ, câu hỏi là hãy tìm ra con số lặp lại nhiều nhất trong dãy số sau.

Đầu tiên bạn nghĩ có lẽ sẽ nhảy vào một vài vòng lặp. Với mỗi con số, đếm và xem số nào lớn nhất. Làm sao chúng ta có thể đến từng số? Vòng lặp chạy quanh dãy, đếm xem bao nhiêu lần nó xuất hiện! Chúng ta đang nói đến hai vòng lặp lồng vào nhau. Giả sử:

----------------------------------------------------------------------------------------------------

def get_mode(nums):
    max_count = 0
    mode = null
    for potential_mode in nums:
        count = 0
        for number in our_array:
            count += 1
            if count >= max_count:
                mode = potential_mode
                max_count = count
    return mode
 

----------------------------------------------------------------------------------------------------

Bây giờ, chúng ta đang làm một số móc vào cả hàng và chúng móc vào nhau- nhưng chúng ta có thể làm tốt hơn. Ở ký hiệu O lớn, tổng cộng là O(n2) lần

Nếu chúng ta có thể lưu những con số này vào Hashmap (sắp xếp các con số cho chúng ta), bạn có thể giải quyết vấn đề chỉ trong một nốt nhạc với hàng mã (O(n) time!)

 

----------------------------------------------------------------------------------------------------

 

def get_mode(nums):
    max_count = 0
    mode = null
    counts = new HashMap, starting each value at 0
    for potential_mode in nums:
        counts[potential_mode] += 1
        if counts[potential_mode] > max_count:
            mode = potential_mode
            max_count = counts[potential_mode]
    return mode
 

----------------------------------------------------------------------------------------------------

Quá nhanh!

 

2. Sử dụng thao tác Bit

Điều này thật sự sẽ đặt bạn ra xa những tài liệu cao ngất. Nó không giải quyết tất cả các vấn đề, nhưng nếu bạn vẫn giữ tập tài liệu sau lưng và sử dụng đúng lúc, bạn sẽ như một ngôi sao nhạc rock.

Đây là một ví dụ: Giả sư chúng ta đã có một dãy số, những con số xuất hiện 2 lần, hy vọng có 1 con số chỉ xuất hiện 1 lần. Chúng ta đang viết 1 hàm để tìm ra một số và không lặp lại.

Theo bản năng, bạn có lẽ sẽ sử dụng hashmap, bởi vì chúng ta vừa nói về nó. Bản năng tốt nên có! Và nó chỉ hiệu quả với cái này. Chúng có thể tạo ra một bản đồ đếm tương tư, và sử dụng nó để tìm con số nào kết thúc với số lần đếm là 1 lần.

Nhưng có một cách tốt hơn. Nếu bạn thành thạo thao tác bit, bạn sẽ biết XOR. Một điều đặc biệt về XOR là nếu bạn XOR một số, thao tác bit sẽ hủy bỏ cho đến 0. Với vấn đề này, nếu chúng ta XOR mọi số trong dãy với nhau, XOR sẽ để lại 1 số mà không bị hủy:

----------------------------------------------------------------------------------------------------

 

def find_unrepeated(nums):
    unrepeated = 0
    for num in nums:
        unrepeated = unrepeated XOR num
    return unrepeated
 

---------------------------------------------------------------------------------------------------

3. Đi từ dưới lên

Viết hàm mà kết quả của “nth” số Fibonacci, đưa ra một số n. Đây là một bài kinh điển, và nó thích hợp để được quay trở lại:

----------------------------------------------------------------------------------------------------

 

def fib(n):
    if n is 0 or 1:
        return 1
    return fib(n-1) + fib(n-2)
 

----------------------------------------------------------------------------------------------------

Nhưng câu trả lời đệ quy đơn giản không chỉ có một! Nghĩ kĩ càng hơn về hàm này làm cái gì. Giả sử n là 5. Để có đáp án, nó yêu cầu một cách đệ quy fib(4) and fib(3). Bây giờ, gọi fib(4) để làm gì? Gọi fib(3) và fib(2). Nhưng chúng ta chỉ nói rằng chúng ta gọi fib(3)! Hàm đệ quy đáng yêu này lặp lại quá nhiều việc. Với tổng thời gian tiêu tốn hóa ra là O(2n). Quá tệ- cách tệ hơn O(n2).

Thay vì đi từ n một cách đề quy đến 1, hãy đi từ dưới lên, từ 1 đến n. Nó sẽ cho chúng ta qua bỏ sự quay lại:

----------------------------------------------------------------------------------------------------

 

def fib(n):
    previous = 0
    previous_previous = 1
 
    for i in the range 1 to n:
        current = previous + previous_previous
        previous_previous = previous
        previous = current
 
    return current
 

----------------------------------------------------------------------------------------------------

Đoạn mã dài hơn, nhưng nó hiệu quả hơn nhiều! Chỉ còn O(n) lần. Khi chúng ta thêm thuật toán đệ quy mở, chúng ta tiết kiệm thời gian. Tất cả các yêu cầu đệ quy sẽ tạo nên số lượng lớn yêu cầu, nó nằm trong bộ nhớ đếm giá trị thời gian. Hàm đệ quy của chúng ta có giá trị thời gian O(n), nhưng sự lặp đi lặp lại này chỉ tốn O(1) thời gian.

Lần tới, nhà tuyển dụng yêu cầu bạn nâng cao hiệu quả trong cách giải quyết vấn đề của bạn, cố gắng lướt qua các chiến lượt và thăm dò nếu họ cần giúp đỡ. Với đủ kinh nghiệm, bạn có thể sẽ nhảy vào giải quyết vấn đề, bỏ qua giải pháp ngây thơ. Và điều đó quá tuyệt vời. Điều đó thể hiện rằng bạn không chỉ là một ứng viên giỏi- mà còn có nghĩa bạn sẽ trở thành một nhân viên giỏi.

Chia sẻ và đóng góp ý kiến cùng VIECOI.VN nhé!

Tìm hiểu 10 trang web hướng dẫn viết code tốt nhất.

Bài viết được dịch bởi Nhật Hạ từ www.themuse.com

Từ khóa: Kỹ NăngKinh NghiệmCẩm Nang Nghề NghiệpITKỹ Năng Mềm

Người khác đã xem

1

Cách nêu điểm mạnh và điểm yếu ...

Việc bàn luận về điểm mạnh và điểm yếu của ...

Cách nêu điểm mạnh và điểm yếu ...

Việc bàn luận về điểm mạnh và điểm yếu của bạn có thể là một trong những phần khó khăn ...

2

Những điều bạn cần biết khi phỏng ...

FamilyMart là thương hiệu chuỗi Cửa hàng tiện lợi 24/24 ...

Những điều bạn cần biết khi phỏng ...

FamilyMart là thương hiệu chuỗi Cửa hàng tiện lợi 24/24 nổi tiếng từ Nhật Bản. Hiện đã có mặt tại ...

3

Những lời nói dối thường thấy trong ...

Nói dối trong CV ư? Bạn sẽ sớm bị phát ...

Những lời nói dối thường thấy trong ...

Nói dối trong CV ư? Bạn sẽ sớm bị phát hiện thôi. Thay vì bóp méo sự thật thì sao ...

4

Đạo đức nghề nghiệp quyết định sự ...

Đạo đức nghề nghiệp được con người nhìn nhận từ ...

Đạo đức nghề nghiệp quyết định sự ...

Đạo đức nghề nghiệp được con người nhìn nhận từ xa xưa và là chuẩn mực để đánh giá nhân ...

5

Kỹ năng ứng xử sư phạm dành ...

Thực tế giao tiếp sư phạm rất đa dạng và ...

Kỹ năng ứng xử sư phạm dành ...

Thực tế giao tiếp sư phạm rất đa dạng và cũng có nhiều tình huống khác nhau yêu cầu giáo ...

6

Làm thế nào người rụt rè ít ...

Những người rất nhút nhát rụt rè thường chia sẻ ...

Làm thế nào người rụt rè ít ...

Những người rất nhút nhát rụt rè thường chia sẻ một số những nỗi sợ hãi rằng họ sợ nói ...

7

Những rủi ro trong sự nghiệp mà ...

Bạn làm việc rất tốt. Nhưng đừng ngủ quên trên ...

Những rủi ro trong sự nghiệp mà ...

Bạn làm việc rất tốt. Nhưng đừng ngủ quên trên chiến thắng. Để tiếp tục học hỏi, nâng cao kỹ ...

8

Định hướng nghề nghiệp trong 5 năm ...

Định hướng nghề nghiệp trong 5 năm tới. Bạn có ...

Định hướng nghề nghiệp trong 5 năm ...

Định hướng nghề nghiệp trong 5 năm tới. Bạn có thể tham khảo những mục tiêu dưới đây để tự ...

9

Tìm hiểu về nhân viên IT thường ...

Không phải ai cũng biết rõ nhân viên IT làm ...

Tìm hiểu về nhân viên IT thường ...

Không phải ai cũng biết rõ nhân viên IT làm gì sẽ giúp mỗi người có thêm hiểu biết, cũng ...

10

3 bước để trả lời câu hỏi ...

Cũng đáng sợ như câu hỏi “ Hãy tự giới ...

3 bước để trả lời câu hỏi ...

Cũng đáng sợ như câu hỏi “ Hãy tự giới thiệu bản thân mình,", "Tại sao bạn quan tâm đến ...


Xem thống kê danh sách 
1

Cách nêu điểm mạnh và điểm yếu ...

Việc bàn luận về điểm mạnh và điểm yếu của ...

Cách nêu điểm mạnh và điểm yếu ...

Việc bàn luận về điểm mạnh và điểm yếu của bạn có thể là một trong những phần khó khăn ...

2

Những lời nói dối thường thấy trong ...

Nói dối trong CV ư? Bạn sẽ sớm bị phát ...

Những lời nói dối thường thấy trong ...

Nói dối trong CV ư? Bạn sẽ sớm bị phát hiện thôi. Thay vì bóp méo sự thật thì sao ...

3

Những điều bạn cần biết khi phỏng ...

FamilyMart là thương hiệu chuỗi Cửa hàng tiện lợi 24/24 ...

Những điều bạn cần biết khi phỏng ...

FamilyMart là thương hiệu chuỗi Cửa hàng tiện lợi 24/24 nổi tiếng từ Nhật Bản. Hiện đã có mặt tại ...

4

Kỹ năng ứng xử sư phạm dành ...

Thực tế giao tiếp sư phạm rất đa dạng và ...

Kỹ năng ứng xử sư phạm dành ...

Thực tế giao tiếp sư phạm rất đa dạng và cũng có nhiều tình huống khác nhau yêu cầu giáo ...

5

Đạo đức nghề nghiệp quyết định sự ...

Đạo đức nghề nghiệp được con người nhìn nhận từ ...

Đạo đức nghề nghiệp quyết định sự ...

Đạo đức nghề nghiệp được con người nhìn nhận từ xa xưa và là chuẩn mực để đánh giá nhân ...

6

Những rủi ro trong sự nghiệp mà ...

Bạn làm việc rất tốt. Nhưng đừng ngủ quên trên ...

Những rủi ro trong sự nghiệp mà ...

Bạn làm việc rất tốt. Nhưng đừng ngủ quên trên chiến thắng. Để tiếp tục học hỏi, nâng cao kỹ ...

7

Tìm hiểu về nhân viên IT thường ...

Không phải ai cũng biết rõ nhân viên IT làm ...

Tìm hiểu về nhân viên IT thường ...

Không phải ai cũng biết rõ nhân viên IT làm gì sẽ giúp mỗi người có thêm hiểu biết, cũng ...

8

Làm thế nào người rụt rè ít ...

Những người rất nhút nhát rụt rè thường chia sẻ ...

Làm thế nào người rụt rè ít ...

Những người rất nhút nhát rụt rè thường chia sẻ một số những nỗi sợ hãi rằng họ sợ nói ...

9

Định hướng nghề nghiệp trong 5 năm ...

Định hướng nghề nghiệp trong 5 năm tới. Bạn có ...

Định hướng nghề nghiệp trong 5 năm ...

Định hướng nghề nghiệp trong 5 năm tới. Bạn có thể tham khảo những mục tiêu dưới đây để tự ...

10

4 bước để giới thiệu bản thân ...

Để mở đầu bất kì một cuộc giao tiếp mới ...

4 bước để giới thiệu bản thân ...

Để mở đầu bất kì một cuộc giao tiếp mới nào thì việc có cách giới thiệu bản thân ấn ...


Xem thống kê danh sách 
1

Cách nêu điểm mạnh và điểm yếu ...

Việc bàn luận về điểm mạnh và điểm yếu của ...

Cách nêu điểm mạnh và điểm yếu ...

Việc bàn luận về điểm mạnh và điểm yếu của bạn có thể là một trong những phần khó khăn ...

2

Những lời nói dối thường thấy trong ...

Nói dối trong CV ư? Bạn sẽ sớm bị phát ...

Những lời nói dối thường thấy trong ...

Nói dối trong CV ư? Bạn sẽ sớm bị phát hiện thôi. Thay vì bóp méo sự thật thì sao ...

3

Những điều bạn cần biết khi phỏng ...

FamilyMart là thương hiệu chuỗi Cửa hàng tiện lợi 24/24 ...

Những điều bạn cần biết khi phỏng ...

FamilyMart là thương hiệu chuỗi Cửa hàng tiện lợi 24/24 nổi tiếng từ Nhật Bản. Hiện đã có mặt tại ...

4

Kỹ năng ứng xử sư phạm dành ...

Thực tế giao tiếp sư phạm rất đa dạng và ...

Kỹ năng ứng xử sư phạm dành ...

Thực tế giao tiếp sư phạm rất đa dạng và cũng có nhiều tình huống khác nhau yêu cầu giáo ...

5

5 suy nghĩ tiêu cực chắc chắn ...

Có điều gì đó luôn níu chân bạn trên con ...

5 suy nghĩ tiêu cực chắc chắn ...

Có điều gì đó luôn níu chân bạn trên con đường phát triển sự nghiệp không? Sự thật là: Bạn ...

6

Những rủi ro trong sự nghiệp mà ...

Bạn làm việc rất tốt. Nhưng đừng ngủ quên trên ...

Những rủi ro trong sự nghiệp mà ...

Bạn làm việc rất tốt. Nhưng đừng ngủ quên trên chiến thắng. Để tiếp tục học hỏi, nâng cao kỹ ...

7

Đạo đức nghề nghiệp quyết định sự ...

Đạo đức nghề nghiệp được con người nhìn nhận từ ...

Đạo đức nghề nghiệp quyết định sự ...

Đạo đức nghề nghiệp được con người nhìn nhận từ xa xưa và là chuẩn mực để đánh giá nhân ...

8

Vai trò của nhóm trưởng trong làm ...

Vai trò của nhóm trưởng trong làm việc nhóm. Kỹ ...

Vai trò của nhóm trưởng trong làm ...

Vai trò của nhóm trưởng trong làm việc nhóm. Kỹ năng làm việc nhóm là một yếu tố vô cùng ...

9

Làm thế nào người rụt rè ít ...

Những người rất nhút nhát rụt rè thường chia sẻ ...

Làm thế nào người rụt rè ít ...

Những người rất nhút nhát rụt rè thường chia sẻ một số những nỗi sợ hãi rằng họ sợ nói ...

10

4 bước để giới thiệu bản thân ...

Để mở đầu bất kì một cuộc giao tiếp mới ...

4 bước để giới thiệu bản thân ...

Để mở đầu bất kì một cuộc giao tiếp mới nào thì việc có cách giới thiệu bản thân ấn ...


Xem thống kê danh sách 

Cách nêu điểm mạnh và điểm yếu ...

Việc bàn luận về điểm mạnh và điểm yếu của ...

Cách nêu điểm mạnh và điểm yếu ...

Việc bàn luận về điểm mạnh và điểm yếu của bạn có thể là một trong những phần khó khăn ...

Những điều bạn cần biết khi phỏng ...

FamilyMart là thương hiệu chuỗi Cửa hàng tiện lợi 24/24 ...

Những điều bạn cần biết khi phỏng ...

FamilyMart là thương hiệu chuỗi Cửa hàng tiện lợi 24/24 nổi tiếng từ Nhật Bản. Hiện đã có mặt tại ...

Kỹ năng ứng xử sư phạm dành ...

Thực tế giao tiếp sư phạm rất đa dạng và ...

Kỹ năng ứng xử sư phạm dành ...

Thực tế giao tiếp sư phạm rất đa dạng và cũng có nhiều tình huống khác nhau yêu cầu giáo ...

Cách phỏng vấn của fpt shop không ...

Cách phỏng vấn của fpt shop không khó như bạn ...

Cách phỏng vấn của fpt shop không ...

Cách phỏng vấn của fpt shop không khó như bạn nghĩ. Từ lâu môi trường làm việc tại công ty ...

Cách khởi nghiệp với số vốn nhỏ...

Làm thế nào để khởi nghiệp với số vốn nhỏ ...

Cách khởi nghiệp với số vốn nhỏ...

Làm thế nào để khởi nghiệp với số vốn nhỏ và đặc biệt là khi bạn có ít kinh ...

5 suy nghĩ tiêu cực chắc chắn ...

Có điều gì đó luôn níu chân bạn trên con ...

5 suy nghĩ tiêu cực chắc chắn ...

Có điều gì đó luôn níu chân bạn trên con đường phát triển sự nghiệp không? Sự thật là: Bạn ...

Làm thế nào người rụt rè ít ...

Những người rất nhút nhát rụt rè thường chia sẻ ...

Làm thế nào người rụt rè ít ...

Những người rất nhút nhát rụt rè thường chia sẻ một số những nỗi sợ hãi rằng họ sợ nói ...

Kỹ năng phục vụ khách hàng trong ...

Các bạn thân mến, bất cứ một ngành nghề nào ...

Kỹ năng phục vụ khách hàng trong ...

Các bạn thân mến, bất cứ một ngành nghề nào cũng cần phải có những kĩ năng nhất định để ...

Kỹ năng nghề nghiệp của giáo viên ...

Kỹ năng nghề nghiệp của giáo viên mầm non. Ngành ...

Kỹ năng nghề nghiệp của giáo viên ...

Kỹ năng nghề nghiệp của giáo viên mầm non. Ngành giáo viên mầm non hiện đang là ngành thu hút ...

4 bước để giới thiệu bản thân ...

Để mở đầu bất kì một cuộc giao tiếp mới ...

4 bước để giới thiệu bản thân ...

Để mở đầu bất kì một cuộc giao tiếp mới nào thì việc có cách giới thiệu bản thân ấn ...


Xem thống kê danh sách