Tài liệu

6.2 Test vi tri lap trinh vien

21/11/2018
0 trang
0
0
background image

VERCO.JSC                       CÔNG TY CỔ PHẦN TÁI CẤU TRÚC DOANH NGHIỆP VIỆT                              

                                            Trụ sở : Tầng 1 tòa Sunrise Building 2, KĐT Sài Đồng, Long Biên, Hà Nội

                                              Điện thoại: 0438.533 533 – Fax: 0436.525 808 – Web: verco.vn

Số:……………

               Hà Nội, ngày…….tháng……..năm 2017

Thời gian làm bài: 90’
Họ và tên ứng viên: ……………………………………  Ngày sinh: ...... / ......./ ........... 
Vị trí tuyển dụng: .......................................................Ngày..….tháng…..năm….…..
Địa chỉ: .......................................................................Mobile ...................................

Hướng dẫn thực hiện:
Bạn hãy trả lời các câu hỏi dưới đây. Bạn có thể làm trực tiếp 
vào đề và phần bài làm

1. Đoạn mã này có tác dụng gì? Hãy sửa lại một số đoạn lỗi.

<?php

    // abstract class for working with table records as database objects

    

Class 

DBObject

{

        
        var 

$tableName

;

        var 

$fieldPrefix

;

        // sql library that you can use to make queries, fetch results, etc.

        

var 

$sq

l

Lib

;

        

        // constructor, pass table name and field prefix as parameters

        

function 

DBObject

(

$table

$

prefix

){

            // set table name

            

if (!empty(

$table

)){

                

$this 

-> 

tableName 

$table

;

            }else{
                

$this 

-> 

errors

[] = 

'DBObject:

 Table name cannot be empty!'

;

            }
            

            // set field prefix

            

if (!empty(

$

prefix

)){

                

$this 

-> 

fieldPrefix 

$prefix

;

            }else{
                

$this 

-> 

errors

[] = 

'

DBObject:

 Fieldname prefix cannot be empty!'

;

            }
            
            

// instantinate Singleton pattern of MySQL class

            

$this 

-> 

sqlLib 

MySQL

::

instance

();

        }
        
       

 // get object from database, return all fields by given id

        

function 

getObject

(

$id

){

            

$qry 

"SELECT * FROM " 

.  

$this 

-> 

tableName 

" WHERE " 

$this 

-> 

fieldPrefix 

"id = $id"

;

            

$this 

-> 

sqlLib 

-> 

query

(

$qry

);

            return 

$this 

-> 

sqlLib 

-> 

fetchAssoc

()

;

        }
        
       

 // get object list

Điểm:

background image

VERCO.JSC                       CÔNG TY CỔ PHẦN TÁI CẤU TRÚC DOANH NGHIỆP VIỆT                              

                                            Trụ sở : Tầng 1 tòa Sunrise Building 2, KĐT Sài Đồng, Long Biên, Hà Nội

                                              Điện thoại: 0438.533 533 – Fax: 0436.525 808 – Web: verco.vn

Số:……………

               Hà Nội, ngày…….tháng……..năm 2017

        

function 

getObjectList

(

$status

$offset 

0

$limit 

100

$orderby 

''

){

            

$qry 

"SELECT * FROM " 

$this 

-> 

tableName 

. (!empty(

$status

) ? 

" WHERE "

                     

$this 

-> 

fieldPrefix 

"status = '$status'" 

''

) . (!empty(

$orderby

) ? 

' ORDER BY '

 

$orderby 

''

) . 

" LIMIT $offset, $limit"

;

            

$

this 

-> 

sqlLib 

-> 

query

(

$qry

);

            return 

$

this 

-> 

sqlLib 

-> 

getAssoc

();

        }
        
        

// get object list with params - if you need to specify additional params, not just status, order and limit

        

function 

getObjectListWithParams

(

$params 

= array(), 

$status

$offset 

0

$limit 

100

$orderby 

''

)

{

            

$qry 

"SELECT * FROM " 

$this 

-> 

tableName 

" WHERE " 

                     

join

(

' AND '

$this 

-> 

buildFieldsArray

(

$fields

)) . (!empty(

$status

) ? 

' AND '

     

$this 

-> 

fieldPrefix 

"status = '$status'" 

''

) . (!empty(

$orderby

) ? 

' ORDER BY '

     

$orderby 

''

) . 

" LIMIT $offset, $limit"

;

            

$this 

-> 

sqlLib 

-> 

query

(

$qry

);

            return 

$this 

-> 

sqlLib 

-> 

getAssoc

();

        }
        
        

// delete record by given id

        

function 

delete

(

$id

){

            

$qry 

"DELETE FROM " 

.  

$this 

-> 

tableName 

" WHERE " 

$this 

-> 

fieldPrefix 

"id = $id"

;

            

$this 

-> 

sqlLib 

-> 

query

(

$qry

)

;

        }
        
        

// change status by given id

        

function 

changeStatus

(

$id

$status

){

            

$qry 

"UPDATE " 

$this 

-> 

tableName 

" SET " 

$this 

-> 

fieldPrefix 

"status = '$status'"

;

            

$this 

-> 

sqlLib 

-> 

query

(

$qry

);

        }
        
        

// return error list formatted as unordered list

        

function 

showErrors

(){

            if (!empty(

$

this 

-> 

errors

[])){

                

$html 

'<ul>'

;

                foreach (

$

this 

-> 

errors 

as 

$error

){

                    

$html 

.= 

"<li>$error</li>"

;

                }
                

$html 

.= 

'</ul>'

;

            }
            return 

$html

;

        }
        
        

// update single field by given id

        

function 

updateField

(

$id

$field

$value

){

            

$qry = "UPDATE " .

 

$this 

-> 

tableName 

" SET " 

$field 

'="' 

. (

SLASH 

addslashes

(

$value

) : 

$value

                    . 

'" WHERE '  

$this 

-> 

fieldPrefix 

'id = "' 

$id 

'"'

;

            

$this 

-> 

sqlLib 

-> 

query

(

$qry

);

        }
        

        // update whole record by given id and array of field names and values

        

function 

updateRecord

(

$id

$fields

){

            

$qry = "UPDATE " .

 

$this 

-> 

tableName 

' SET ' 

join

(

' AND '

$this 

-> 

buildFieldsArray

(

$fields

)) . 

WHERE '

background image

VERCO.JSC                       CÔNG TY CỔ PHẦN TÁI CẤU TRÚC DOANH NGHIỆP VIỆT                              

                                            Trụ sở : Tầng 1 tòa Sunrise Building 2, KĐT Sài Đồng, Long Biên, Hà Nội

                                              Điện thoại: 0438.533 533 – Fax: 0436.525 808 – Web: verco.vn

Số:……………

               Hà Nội, ngày…….tháng……..năm 2017

                   

$this 

-> 

tablePrefix 

'id = "' 

$id 

'"'

;

            

$this 

-> 

sqlLib 

-> 

query

(

$qry

);

        }
        

        // insrt new record into database

        

function 

insertRecord

(

$fields

){

            

$qry = "INSERT INTO " .

 

$this 

-> 

tableName 

' SET ' 

join

(

' AND '

$this 

-> 

buildFieldsArray

(

$fields

));

            

$this 

-> 

sqlLib 

-> 

query

(

$qry

);

        }

        
        // build array of sql statement parts from fields array

        

function 

buildFieldsArray

(

$fields

){

            

# converts array

            # array('field' => 'value', 'field2' => 'value2') => array('field="value"', 'field2="value2"');
            

foreach (

$fields 

as 

$field 

=> 

$value

){

                

$tmp_values

[] = 

$field 

'="' 

$value 

'"'

;

            }
            return 

$tmp_values

;

        }
        

        // raise record priority by given id and additional params

        

function 

raisePriority

(

$id

$params 

= array()){

            

$sql 

$this 

-> 

sqlLib

;

            

#build additional query parameters - if we re-order elements for some parent element

            

$whereClause 

join

(

' AND '

$this 

-> buildFieldsArray($params)

);

            

# select the priority of current element

            

$qry = "SELECT " .

 

$this 

-> 

fieldPrefix 

"priority FROM " 

$this 

-> 

tableName 

' WHERE ' 

                   

$this 

-> 

fieldPrefix 

"id = '$id'"

;

            

$sql 

-> 

query

(

$qry

);

            

$item 

$sql 

-> 

fetchAssoc

();

            

#select the next element for the same parent element (if specified)

            

$qry 

'SELECT ' 

$this 

-> 

fieldPrefix 

'id FROM ' 

$this 

-> 

tableName 

' WHERE ' 

                  

$this 

-> 

fieldPrefix 

"priority = '"

.(

$item

[

$this 

-> 

fieldPrefix 

'priority'

] - 

1

).

"'" 

  . (!empty(

$whereClause

) ? 

' AND ' 

$whereClause 

''

);

            

$sql 

-> 

query

(

$qry

);

            

# if we have found the element with bigger priority, change the priorities for both of the elements

            

if (

$sql 

-> 

getRows

() == 

1

) {

                

$item2 

$sql 

-> 

fetchAssoc

();

                $qry = 'UPDATE ' .

 

$this 

-> 

tableName 

' SET ' 

$this 

-> 

fieldPrefix 

'priority = 

                       ' 

$this 

-> 

fieldPrefix 

'priority - 1 WHERE ' 

$this 

-> 

fieldPrefix 

"id = '$id'"

;

                

$sql 

-> 

query

(

$qry

);

                

$qry = 'UPDATE ' .

 

$this 

-> 

tableName 

' SET ' 

$this 

-> 

fieldPrefix 

'priority = 

                       ' 

$this 

-> 

fieldPrefix 

'priority + 1 WHERE ' 

$this 

-> 

fieldPrefix 

"id = '" 

       . 

$item2

[

$this 

-> 

fieldPrefix 

'id'

] . 

"'"

;

                

$sql 

-> 

query

(

$qry

);

            }
        }
        
        

// lower priority by given id and additional params

        

function 

lowerPriority

(

$id

$params 

= array()){

            

$sql 

$this 

-> 

sqlLib

;

            

#build additional query parameters - if we re-order elements for some parent element

            

$whereClause 

join

(

' AND '

$this 

-> 

buildFieldsArray

($params)

);

            

# select the priority of current element

Mô tả tài liệu

Quy trình tuyển dụng bao gồm mẫu biểu các bước tuyển dụng, hệ thống các bài test tuyển dụng và hướng dẫn hoạch định nhân sự.

Bình luận

Tài liệu cùng bộ

Bộ tài liệu liên quan

CEO
2 tài liệu
0
636
8 tài liệu
0
2173
8 tài liệu
0
2642
10 tài liệu
0
2835
5 tài liệu
0
1165
2 tài liệu
0
507
6 tài liệu
0
1361
2 tài liệu
0
479
1 tài liệu
0
328

Bộ tài liệu liên quan

CEO
23/09/2018
2 tài liệu
0
636
23/09/2018
8 tài liệu
0
2173
23/09/2018
8 tài liệu
0
2642
23/09/2018
10 tài liệu
0
2835
23/09/2018
5 tài liệu
0
1165
23/09/2018
2 tài liệu
0
507
23/09/2018
6 tài liệu
0
1361
23/09/2018
2 tài liệu
0
479
23/09/2018
1 tài liệu
0
328