altWebDeveloper #4
ASP.NET Developer Kits
Google остается лидером поиска в интернете
Microsoft открыла Hotmail для легального спама
Стартовал восьмой Российский интернет-форум
Новый российский сервис для пересылки файлов без электронной почты
Немецкая программа для обхода блокираторов рекламы
Конкурс для разработчиков .NET!
Новости .NET
"Десерт": Microsoft запатентовала яблоки
Доступ к файлам
Использование «ASP:XML runat=server> внутри страницы ASP.NET
Как сохранить позицию скроллинга странице после PostBack
Использование Microsoft Visual Studio .NET
Как создать решение с компонентами, написанными на разных языках
Вопросы и ответы конкурса разработчиков .NET
Visual Studio для "бедных"
ASP .NET Web Matrix
C# - инструмент разработки SharpDevelop
Стратегии позиционирования сайта в поисковых системах
Глоссарий терминов по поисковым системам
Что такое Robots.txt?
Трафик от ссылающихся сайтов
Анализ спроса и повышение видимости в поисковых машинах
Богатые и бедные проектовладельцы
Поисковые системы в интернете
Как выбрать поисковую машину
Как сделать веб-сайт эффективным
Англоязычные сайты
Русскоязычные сайты
Обмен ссылками
Брюс Стерлинг Наш нейронный Чернобыль
Рассылка журнала
© 2004
CAS "altDesign" Все права защищены
|
..: altWebDeveloper - сетевой журнал для вебмастеров и разработчиков Microsoft .NET :..
|
| ..: Вопросы и ответы конкурса разработчиков .NET :.. |
Перечень вопросов и вариантов ответов на них
(синим цветом выделены правильные)
| 1. Отметьте все возможные
допустимые типы источников данных для элемента управления
System.Windows.Forms.DataGrid: |
|
DataTable |
|
DataRowView |
|
DataView |
|
DataManager |
|
DataSet |
|
DataViewManager |
|
|
| 2. Выберите способы объединения
нескольких элементов управления RadioButton в группу независимых
друг от друга элементов управления (выберите все верные
утверждения): |
| Создать
объединяемые элементы управления RadioButton в контейнере - элементе
управления Panel |
| Присвоить
значение номера группы элементов свойству RadioButton.GroupNumber у
объединяемых элементов управления |
| Создать
объединяемые элементы управления RadioButton в контейнере - элементе
управления GroupBox |
| Создать
объединяемые элементы управления RadioButton в контейнере - элементе
управления Frame |
|
|
| 3. Для того, чтобы указать в
создаваемом классе на невозможность создания экземпляров этого
класса, требуется: |
| Использовать
ключевое слово NotInheritable после объявления имени
класса |
| Использовать
ключевое слово MustInherit после объявления имени
класса |
| Использовать
ключевое слово NotInstantiated после объявления имени
класса |
| Использовать
ключевое слово Sealed после объявления имени класса |
|
|
| 4. Требуется записать в файл
строку "0123456789" в обратном порядке. Какой из фрагментов кода
выполняет это действие: |
|
Dim str As String : str = "0123456789" Dim str2 As String Dim i As Integer : i = Len(str) Open "text.txt" For Output As #1 While i > 0 str2 = str2 & Mid(str, i, 1) i = i - 1 Wend Print #1, str2 Close #1
|
|
Dim str As New
String("0123456789") Dim i As Integer = str.Length -
1 Dim sw As StreamReader = New
StreamReader("text.txt") While (i >=
0) sw.Read(str.Chars(i)) i
-= 1 End
While sw.Close()
|
|
Dim str As New
String("0123456789") Dim i As Integer = str.Length -
1 Dim sw As StreamWriter = New
StreamWriter("text.txt") While (i >=
0) sw.Write(str.Chars(i)) i
-= 1 End
While sw.Close()
|
|
|
| 5. Механизм настройки фильтров
исключений, предлагаемый CLR, наиболее полно поддерживается в:
|
|
C# |
|
VB |
|
J# |
| Managed
C++ |
|
JavaScript.NET |
|
|
| 6. Для задачи построения
частотного словаря текста самым быстрым окажется следующий
стандартный класс: |
|
SortedList |
|
ArrayList |
|
Stack |
|
Hashtable |
|
Queue |
|
|
| 7. Использование for each возможно
для любого контейнера, который: |
| Является
стандартной коллекцией |
| Является
массивом |
| Реализует
интерфейс ICollection |
| Реализует
интерфейс IEnumerable |
| Является потомком
класса Collection |
|
|
| 8. Вы разрабатывает ASP.NET
приложение для электронного магазина. С помощью Web-сервиса
поставщика товаров вы получаете DataSet priceList, содержащий
прайс-лист товаров. У вас есть xsl-файл PriceList.xsl, который
позволяет вывести в HTML-формате содержимое priceList. Какие
фрагменты кода Вы будете использовать для этого (выберите все верные
утверждения)? |
|
Dim doc As New XmlDataDocument(priceList) Dim
xslTrans As New
XslTransform() xslTrans.Load("PriceList.xsl") |
|
Dim XmlDataDocument doc As New
XmlDataDocument(priceList) Dim XslTransform xslTrans As New
XslTransform("PriceList.xsl") doc.BindXsl(xslTrans)
|
|
xslTran.Transform(doc, null,
Response.outputStream); |
|
xslTran.Transform(doc,
null, Response.inputStream); |
|
priceList.WriteXml(Response.outputStream,
"PriceList.xsl") |
|
priceList.WriteXml(Response.outputStream) |
|
|
| 9. Вы разрабатываете приложение на
базе Windows Forms для складского учета в магазине. Менеджер может
просматривать и изменять товары и цены в DataGrid контроле. Вы
хотите, чтобы после окончания работы менеджеру распечатывался отчет,
содержащий все измененные, добавленные и удаленные записи. Все
данные хранятся в DataSet объекте products. Вам необходимо получить
DataSet changedProducts, содержащий все последние изменения в
products. Какую строчку кода вы для этого
используете? |
|
changedProducts.Merge(products,
true) |
|
changedProducts.Merge(products,
false) |
|
Set changedProducts =
products.GetChanges(DataRowState.Modified) |
|
Set changedProducts =
products.GetChanges(DataRowState.Detached) |
|
Set changedProducts = products.GetChanges() |
|
|
| 10. Вы работаете с объектом
DataTable - таблицей "Employee" в объекте DataSet dsCompany. Вы
изменяли, удаляли и добавляли записи в эту таблицу. Теперь Вам
требуется сохранить все изменения в базе данных. У Вас уже создан
необходимый для этого экземпляр класса DataAdapter da. Также Вам
необходимо получит все строчки таблицы Employee, при обновлении,
удалении или добавлении которых в базу данных произошли
ошибки.Выберите требуемый для этого код: |
Try da.Update
(dsCompany, "Employee") Catch ex As
SqlException Dim rows( ) As
DataRow = dsCompany.Tables (0).GetErrors (
) 'Обработка строк таблицы,
вызвавших ошибку при внесении изменений в базу End
Try |
da.ContinueUpdateOnError =
True Try da.Update
(dsCompany, "Employee") Catch ex As
SqlException Dim rows( ) As
DataRow = dsCompany.Tables (0).GetErrors (
) 'Обработка строк таблицы,
вызвавших ошибку при внесении изменений в базу End
Try |
da.ContinueUpdateOnError = Trueda.Update
(dsCompany, "Employee") If dsCompany.Tables
(0).HasErrors Then Dim rows(
) As DataRow = dsCompany.Tables (0).GetErrors (
) 'Обработка строк таблицы,
вызвавших ошибку при внесении изменений в базу End
If End Try |
da.Update
(dsCompany, "Employee") If dsCompany.Tables
(0).HasErrors Then Dim rows(
) As DataRow = dsCompany.Tables (0).GetErrors (
) 'Обработка строк таблицы,
вызвавших ошибку при внесении изменений в базу End
If End Try |
Try da.Update
(dsCompany, "Employee") Catch ex As
SqlException Dim rows( ) As
DataRow = ex.GetErrorRows (
) 'Обработка строк таблицы,
вызвавших ошибку при внесении изменений в базу End
Try |
|
|
11. Вы разрабатываете XML
WebService для Гидрометцентра, который возвращает текущую
температуру воздуха в Санкт-Петербурге. Сервис используется в разных
странах, тысячи раз в день, на разных платформах. В качестве
параметра метод принимает код языка, на котором вернуть сообщение о
температуре воздуха. Температуру воздуха сервис получает, обращаясь
к специальному интерфейсу электронного термометра. Вы хотите
минимизировать время ответа сервиса. |
| Установить
свойство CacheDuration у веб-метода в true |
| Установить
свойство CacheDuration у веб-метода в значение большее
0 |
| Хранить
температуру и строчку с сообщением в Session
объекте |
| Хранить
температуру и строчку с сообщением в Cache
объекте |
| Установить
свойство BufferResponse у веб-метода в true |
|
|
12. Вы создаете приложение Windows
под названием App. К App Вы добавили веб ссылку на XML Web сервис с
именем UserService. UserService содержит веб метод RetrieveUserInfo.
Этот веб метод принимает userID в качестве параметра и возвращает
DataSet, содержащий информацию о пользователе. Если userID
оказывается вне интервала от 1 до 1000, "выбрасывается" исключение
System.ArgumentException. В приложении App вы написали try/catch
блок, чтобы "поймать" любое исключение, "выбрасываемое" UserService.
Вы вызвали метод RetrieveUserInfo и передали 1001 как значение
параметра userID. Какое исключение будет
получено? |
|
System.ApplicationException |
|
System.ArgumentException |
|
System.Web.Service.Protocols.SoapException |
|
System.Web.Service.Protocols.SoapHeaderException |
|
|
| 13. Вы тестируете Ваше приложение
перед отправкой заказчику. Для целей тестирования Вы в некоторые
части Вашего приложения добавили вызов одного метода. В поставочную
версию эти вызовы войти не должны, однако сам метод должен остаться.
Вы хотите добиться этого с наименьшими усилиями. Что Вы для этого
сделаете (выбрать все верные утверждения)? |
Добавите перед
каждым вызовом метода следующий комментарий:
// Удалить в
поставочной версии
Перед отправкой приложения заказчику с
помощью средств поиска Visual Studio .NET 2003 найдете все такие
комментарии и удалите следующий за ними вызов
метода.
|
Добавите перед
каждым вызовом метода следующий комментарий:
//TODO: Удалить
в поставочной версии
Перед отправкой приложения заказчику с
помощью TaskList найдете все такие комментарии и удалите следующий
за ними вызов метода |
| Примените к
методу атрибут и убедитесь, что в свойствах
проекта на вкладке Configuration Properties/Build установлена опция
Define Debug Constant |
Заключите
вызываемый метод в блок
#If (DEBUG) Then ... #End If
и
убедитесь, что в свойствах проекта на вкладке Configuration
Properties/Build установлена опция Define Debug
Constant |
Заключите
вызываемый метод в блок
#If (DEBUG) Then ... #End If
и
добавите в начало файла следующую строчку
#Define
DEBUG
которую удалите перед поставкой
приложения |
|
|
| 14. Что является аналогом ISAPI
Extensions в .NET-Framework? |
| Объекты,
наследующие HttpApplication |
| Объекты,
наследующие HttpContext |
| Объекты,
реализующие интерфейс IHttpHandler |
| Объекты,
реализующие интерфейс IHttpModule |
|
|
| 15. Что необходимо сделать для
того, чтобы включить трассировку во всем
веб-приложении? |
| На странице по
умолчанию (Default.aspx) прописать директиву <%@ Page
Trace="True"> |
| В файле
Web.config добавить секцию <trace
enabled="true"> |
На каждой
странице веб-приложения прописать директиву <%@ Page
Trace="True"> В файле machine.config
добавить секцию <trace enabled="true"> |
|
|
| 16. Если производится объявление
переменной без указания типа, например, Dim A то ее типом по
умолчанию будет являться тип данных: |
|
Variant |
|
Object |
|
Это недопустимое объявление |
|
Nothing |
|
|
| 17. Конструкция on error resume
next: |
| Не поддержана в
VB.NET в связи с переходом к механизму структурной обработке
исключений |
| Поддержана в
языке для совместимости с VB6 и компилируется в структурные
исключения на уровне платформы .NET |
| Поддержана как
VB.NET, так и платформой .NET |
| Доступна также в
других языках, поставляемых вместе с Visual Studio |
|
|
| 18. Реализация интерфейса
IDisposable: |
| Позволяет
управлять сборкой мусора в пользовательских
классах |
| Дает возможность
освободить ресурсы объекта до вызова сборки
мусора |
| Служит для
синхронизации ресурсов в многопоточных
приложениях |
| Приводит к
потерям эффективности при сборке мусора |
|
|
| 19. Вы разрабатываете
Windows-приложение. Вы планируете использовать ADO.NET для вызова
хранимой процедуры получения расписания GetSchedule. Процедура
принимает обязательный параметр date - дата, за которую возвращается
расписание.Выберите строчки кода, необходимые и достаточные для
добавления параметра. |
|
Dim p As New SqlParameter() |
|
Dim p As New SqlParameter("@Date", SqlDbType.DateTime) |
|
.Direction = ParameterDirection.InputOutput |
|
p.Direction = ParameterDirection.Input |
|
cmd.Parameter.Add(p) |
|
cmd.Parameter = p |
|
|
| 20. Вы создаете Windows приложение
и хотите, чтобы основные элементы управления на Вашей форме
выглядели также как в Windows XP. Вы хотите добиться этого затратив
наименьшее количество усилий. Что нужно сделать? |
| Ничего, т.к.
работая в среде Windows XP большинство элементов управления и так
будут иметь соответствующий вид |
Добавить в
конструктор основной формы следующий код:
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: RU; mso-fareast-language: RU; mso-bidi-language: AR-SA">Application.EnableVisualStyles() |
Module
Startup <STAThread>
_ Public Sub
Main() Application.EnableVisualStyles() Application.Run(New
Form1) End Sub End Module
В свойствах проекта на вкладке Common Properties/General
установите свойство Startup Object в Sub
Main |
Установить в
свойствах проета на вкладке Configuration Properties/General опцию
Enable Windows Themes
|
|
|
| |
При перепечатке любого материала с журнала или с сайта,
видимая ссылка на источник
http://altwebdeveloper.nm.ru
и все имена, ссылки авторов обязательны.
© 2004 CAS "altDesign"
© Валерий В. Макеев (deepInfinity)
|