CÔNG NGHỆ THÔNG TIN >> SINH VIÊN BKAP

Bài thi Test Logic và FrontEnd của công ty Sotatek

Đăng lúc: 11:24 AM - 22/06/2023 bởi Charles Chung - 1237

Những bạn chuẩn bị ứng tuyển vào Sotatek có thể tham khảo 2 bài sau đây để xem năng lực của mình thế nào nhé.

1. Bài test Logic

Bài 1: Giai thừa của 1 số nguyên dương n là tích của tất cả các số nguyên dương nhỏ hơn hoặc bằng n. Công thức như sau:

Viết mã giả mô tả thuật toán tính giai thừa của một số n cho trước.

 

Bài 2: Cho định nghĩa sau: số hoàn hảo là số có giá trị bằng tổng các ước nhỏ hơn nó.

Ví dụ: 6=1+2+3; 28=1+2+4+7+14.

Viết mã giả mô tả thuật toán kiểm tra 1 số n cho trước có phải là số hoàn hảo hay không.

 

Bài 3: Với chuỗi cho trước có độ dài lớn hơn 1, viết mã giả thể hiện thuật toán xác định vị trí của 1 kí tự trong chuỗi sao cho khi xoá kí tự đó đi thì chuỗi còn lại là nhỏ nhất có thể.

Ví dụ: chuỗi `231` sau khi xoá đi 1 kí tự có thể trở thành `31`, `21`, `23`. Chuỗi nhỏ nhất là `21`, đáp án đúng là xoá đi kí tự `3` trong chuỗi ban đầu.

 

Bài 4: Bob cầm n đồng đi mua kẹo. Giá của 1 viên kẹo là c đồng. Cửa hàng lại có chương trình khuyến mại cứ m tờ giấy gói kẹo thì đổi được 1 viên kẹo mới. Viết mã giả thể hiện thuật toán xác định tổng số kẹo Bob có thể mua được từ các tham số n, c, m như đã mô tả ở trên.

Ví dụ:

  • n=10, c=2, m=5: Bob mua được 5 viên kẹo, sau đó đổi 5 tờ giấy gói lấy 1 viên kẹo nữa, tổng cộng đáp án là 6.
  • n=12, c=4, m=4: Bob mua được 3 viên kẹo, số giấy gói kẹo không đủ đổi thêm nữa, đáp án cuối cùng là 3.
  • n=6, c=2, m=2: Bob mua được 3 viên kẹo, lấy 2 trong 3 tờ giấy gói kẹo đổi được thêm 1 viên. Sau đó dùng tiếp 1 tờ giấy gói dư ở lần đổi thứ nhất + tờ giấy gói của viên kẹo ở lần đổi thứ 2, đổi được thêm 1 viên kẹo nữa. Đáp án tổng cộng là 5.

2. Bài Test FrontEnd (TodoList)

Project: Todo List 

Link mockup design: 

https://wireframepro.mockflow.com/view/Mdab887a4c13f1076aad51db6687a2c8e15935390761 38#/page/3d47feb9951d457bbdc7e64b49f9f904 

Features

1. Base on the mock design, build the website interface 

2. Create a new task: Users can enter information and create new tasks in the form on the left side of the screen. 

a. Task title is a required field. 

b. Due date has the default value which is today, do not accept days in the past as due date 

c. Priority field has three values: low, normal and high. The default value is normal. 

alt text

3. The created tasks will be sorted by Due date from the near future to far future. Each task will be displayed as same as the picture bellow

alt text

a. When you tick the checkbox, the screen will display a bulk action box

alt text

The bulk action will execute the action for all tasks that have been checked in the checkbox. Temporarily ignore the Done method. The Remove method removes the tasks.

b. When you click the “detail” button, the task item will display detailed information

alt text

c. Users can update task data in this form 

d. When you click the Remove button, this task will be deleted. 

4. Users can search tasks by task title. Each time the user enters text, the task list will be filtered and displayed 

* Please push your code to a git repository and send it to us 
* Deploying your app with github page or netflix or surge or heroku is big plus

* Please do not integrate with BE as we want to know how you handle the FE side

Coding Requirement: 

- Implement TodoList app base on your framework (angular/ reactjs/ vuejs) - Complete all the functions 

- Naming convention, es6 or later. 

- The code is broken into reasonable components 

- Store data to LocalStorage is a plus 

- The code smells good 

- Not using libraries for CSS is a plus. 

- Nice and responsive interface is a plus.

thay lời cảm ơn!

QUẢNG CÁO - TIẾP THỊ