Базовый Эрудит — questions

Jump to: navigation, search
12345
Знание базовых информационных технологий

Variant 319217760.


Your name*:


Question 1

Некоторая параллельная программа выполняется 100 секунд на одном процессоре. Если 40% вычислений являются строго последовательными и не могут быть распараллелены, то какое будет время выполнения этой программы на 2 и 4 процессорах соответственно:

  1.  80 и 70 секунд
  2.  70 и 55 секунд
  3.  30 и 15 секунд
  4.  20 и 10 секунд
  5.  50 и 25 секунд

Question 2

Рассмотрим схемы следующих таблиц :

   Product:  name        idnumber  price  shipweight  bulklevel
   Sales:    customerid  idnumber  date   quantity    tax
   Customer: customerid  poc       phone  address     email

Какие колонки в таблице Sales нужно сделать внешними ключами (foreign keys):

  1.  customerid, idnumber
  2.  quantity
  3.  idnumber
  4.  idnumber, quantity
  5.  tax, quantity

Question 3

Рассмотрим компьютерную многопроцессорную архитектуру, где каждый процессор имеет свой собственный кеш, и где все они конкурируют за доступ к системной шине (критическому ресурсу).

Каждый процессор может выполнить одну инструкцию за 500 наносекунд, если инструкция ссылается на закешированные ячейки памяти. Но если происходит кеш-промах, то выполнение инструкций процессором задерживается на дополнительных 2000 наносекунд, причем первую половину этой задержки шина обслуживает запрос, а вторую половину задержки, результат этого запроса помещается в кеш процессора и происходят другие действия, а шина может обслуживать запросы от других процессоров. В среднем, каждая инструкция содержит два указателя на память, а кеш-промахи случаются в 1% указателей.

Какую часть пропускной способности шины использует один процессор, если игнорировать конкуренцию других процессоров?

  1.  
  2.  
  3.  
  4.  
  5.  

Question 4

Для программного фрагмента

    p:=1; k:=0;
    while k<n do
    begin
        p:=2*p;
        k:=k+1;
    end;
какой инвариант будет выполнятся в цикле?
  1.  
  2.  
  3.  
  4.  
  5.  

Question 5

Рассмотрим SQL-оператор:

  SELECT  a.lname, a.fname
    FROM  a JOIN b ON a.lname=b.lname
    WHERE b.sex = 'male'
Какой из следующих запросов ему эквивалентен?
  1.  
    SELECT a.lname, fname FROM a
  2.  
    SELECT a.lname, fname FROM a WHERE lname IN (SELECT lname FROM a JOIN b ON lname WHERE sex='male')
  3.  
    SELECT lname, fname FROM a WHERE lname IN (SELECT lname FROM b)
  4.  
    SELECT a.lname, fname FROM a,b WHERE a.lname=b.lname AND sex='male'
  5.  
    SELECT a.lname, fname FROM a JOIN b WHERE b.sex='male'