오늘 Jumei에 대한 몇 가지 인터뷰 질문

WBOY
풀어 주다: 2016-08-08 09:23:56
원래의
1102명이 탐색했습니다.

1. 1,2,3,4,5,6을 배열에 무작위로 배치하는 함수를 작성하세요. 3은 세 번째 위치에 올 수 없고, 5와 6은 서로 옆에 올 수 없습니다.

function sort_test($array)
{
    while(true) {
        shuffle($array);
        $temp = array_flip($array);
        if ($array[2] != 3 && 1 != abs($temp[5] - $temp[6])) {
            return $array;
        }
    }
}
$array = array(1,2,3,4,5,6);
print_r(sort_test($array));
로그인 후 복사

2. $str="asdfasflasdfopafdsa" 문자열에 한 번 나타나는 첫 번째 문자를 구현하는 함수를 작성합니다.
function get_target_letter($str)
{
    $i = 0;
    $array = array();
    while(isset($str[$i])) {
        $array[$str[$i]] = isset($array[$str[$i]]) ? $array[$str[$i]] + 1 : 1;
        $i ++;
    }
    foreach($array as $key=>$val) {
        if ($val == 1) {
            return $key;
        }
    }
    return false;
}
echo get_target_letter('asdfastflasdfopafdsa');
로그인 후 복사
3. 테이블이 2개 있습니다.
CREATE TABLE products (
  product_id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,
  product_name VARCHAR(64) NOT NULL
);
CREATE TABLE orders (
  product_id INT UNSIGNED NOT NULL ,
  create_at INT UNSIGNED NOT NULL,
  num INT UNSIGNED NOT NULL 
);
로그인 후 복사
로그인 후 복사

t1~t2 기간 동안의 제품명과 총 판매량을 조회하고, 해당 기간에 따라 높은 순으로 정렬하는 SQL문을 작성해 주세요. 총 판매량.

내 접근 방식:

SELECT
  products.product_name,
  number.num
FROM ((SELECT
         product_id,
         sum(num) AS num
       FROM orders
         WHERE orders.create_at BETWEEN {$t1} AND {$t2}
       GROUP BY product_id) AS number) INNER JOIN products ON products.product_id = number.product_id
ORDER BY number.num DESC;
로그인 후 복사
이 세 가지 질문이 더 인상 깊고 다른 질문은 제 접근 방식에 따라 작성되었습니다. 틀렸다면 정정해 주세요.

위 내용은 오늘 Jumei에서의 몇 가지 인터뷰 질문을 소개하며, 관련 내용도 포함되어 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿