[SHARE] Câu hỏi tuyển dụng của GameLoft
Em sưu tầm được 3 câu này trên group facebook C++ Game Developer nên chia sẻ cho mọi người cùng xem
câu 1
: viết 1 hàm xử lý 1 chuỗi ký tự ( a-> z only ) sau đó hàm đó sẽ làm công việc như vầy , ví dụ input vào chữ “eat” ,
thì sẽ in ra (size của ký tự dc giai thừa ) tức 3! = 6 chữ :
"eat " , "eta " , “tea” , “tae” , “ate” , “aet”
câu 2
: dựa vào khả năng hiểu biết C++ , em hãy optimize đoạn code sau
char *someshit(int someOtherShit)
{
switch(someOtherShit)
{ case 1 : return “ES”;
case 2 : return “HI” ;
(lặp lại tới case 13 với random ký tự )
case 14: return “”;
default return 0;
}
}
###câu 3
a peacock can lay 1 egg on day 1 , lay 2 eggs on day 2 . how many egg will this peacock lays in day 3 .
a . 0
b . 1
c . 2
d . 3
câu 3 sao xàm vậy, kq ko lẽ là 3
Có gì đó hack não chăng :v
some shit =))))) bựa bựa
Khó quá Câu 3 chọn đại chắc đúng đc 1 câu.
em nghĩ là 0 vì dù trước đó có đẻ dc bnhiu quả thì hôm nay nó đẻ bnhiu quả vẫn ko thể pjk dc :3 ko pjk thì lập trình thường mặc định = 0 or giá trị rác v nên em chọn a
Câu 3 mình nghĩ để test xem cách suy luận thôi
Chắc kiểu phải giải thích được suy luận hợp lý của câu mình chọn.
Vì là how many “egg” nên chỉ có thể là 1.
Là con công ĐỰC thì làm gì đẻ được
Câu 1: Tham khảo:
stackoverflow.com
How to generate all permutations of an array in sorted order?
C++ Program to Print Permutations of Given Character String - Sanfoundry
This C++ Program which permutations of given character string. The program takes in a character string and prints the permutation of a given character string. The function responsible for printing the permutations of the string is given the string,...
Ngày 1 ấp 1 trứng, ngày 2 ấp 2 trứng (1 trứng đã có từ ngày hôm trước), cho nên mỗi ngày chỉ ấp được một trứng. Câu trả lời cuối cùng là ngày 3 ấp được 1 trứng (câu b).
P/s sao không ai trả lời câu 1 với câu 2 đi =))
Câu 2 chắc check if(someOtherShit >14 || someOtherShit < 0) return 0; bỏ cái default đi :v
Câu 1 viết bình thường
Câu 2 chuyển qua dùng enum để dễ optimust và maintain
Câu 3. how many egg will this peacock lays IN day 3. -> 1 quả
Câu 2:
Peacock là con công đực, còn peahen mới là con công cái nên chắc ghi vào đáp án là đề sai quá =))
câu 3 :là đáp án a = 0 nhé => vì peacock là con công đực , peahen mới là con công cái => công đực làm méo j đẻ trứng
Câu 2 mình ko biết trong C++ có break ko mà sao ko thấy sau mỗi cái case có 1 cái break nhỉ ?
Có return nó kết thúc hàm rồi bác
Câu 1: dùng thuật toán backtrack tính ra các permutation. (khá đơn giản với những ai biết backtrack)
Cây 2: khai báo 1 array là input[15] chứa các giá trị random kí tự.
char *someshit(int someOtherShit){
return *(input + someotherShit);
}
Câu 3: câu này viết sai chính tả nhiều quá. thôi cứ cho là bạn này viết sai vậy. câu này mình nghĩ chọn đáp án nào cũng được, không hề có quy luật nào ở đây cả.
Bài 1 dùng next_permutation là ra. @@
break để gặp case là nó đi ra luôn, không cần phải kiểm tra case khác nữa.
tui nghĩ câu 3 là 0 vì nó để là con đó có thể đẻ chứ đâu có đẻ ra trứng !