Tuesday, July 17, 2007
Secret behind Rajini's colour
Posted by
myblog
at
10:27 AM
0
comments
Monday, July 16, 2007
Oracle 11g Features
At Oracle Openworld 2006, Oracle announced some exciting new features of Oracle 11g, and they promise 482 new Oracle11g features. For me, the most executing new features relate to tools that automate the well-structured DBA tasks, freeing-up the DBA to pursue more challenging work:
AMM - Oracle automated memory management (enhanced in 11g)
ASM - Oracle automated storage management (enhanced in 11g)
Oracle SQL*Access advisor - This tool makes intelligent recommendations for "missing" indexes and materialized views
Now in Oracle 11g we see improvement in Oracle's use of expert systems technology:
Oracle 11g fully-automated SQL tuning - The DBA defines a SQL workload, and Oracle runs them on the live system, automatically optimizing the SQL via SQL profiles.
Here is my list which I continually update as new Oracle11g new feature information is released:
11g SQL new features
11g language support new features
11g PL/SQL New Features
11g DBA features
11g RAC new features & enhancements
11g performance features
11g security new features
11g Enterprise Manager new features
11g RMAN features
11g data mining
Oracle 11g is the clear leader in this area. Oracle has invested heavily into self-tuning capabilities including automated storage and memory management and intelligent tuning advisors. Now in 11g, Oracle closes the loop and offers intelligent automation tools to create a self-healing database. The most important 11g new automation features include a SQL tuning advisor that automatically tunes SQL statements.
Automatic Memory Tuning - Automatic PGA tuning was introduced in Oracle 9i. Automatic SGA tuning was introduced in Oracle 10g. In 11g, all memory can be tuned automatically by setting one parameter.
Fully Automatic SQL Tuning - The 10g automatic tuning advisor makes tuning suggestions in the form of SQL profiles that will improve performance. You can tell 11g to automatically apply SQL profiles for statements where the suggested profile give 3-times better performance that the existing statement. The performance comparisons are done by a new administrative task during a user-specified maintenance window.
Automated Storage Load balancing - Oracle’s Automatic Storage Management (ASM) now enables a single storage pool to be shared by multiple databases for optimal load balancing. Shared disk storage resources can alternatively be assigned to individual databases and easily moved from one database to another as processing requirements change.
Automatic Diagnostic Repository - When critical errors are detected, Oracle automatically creates an “incident” ticket, notifying the DBA instantly.
Enhanced ILM - Information Lifecycle Management (ILM) has been around for decades, but Oracle has made a push to codify the approach in 11g. Read more about Oracle 11g ILM here:
Table-level control of CBO statistics refresh threshold - \When Oracle automatically enables statistics collection, the default "staleness" threshold of 10% can now be changed with the dbms_stats.set_table_prefs procedure:
exec dbms_stats.set_table_prefs(’HR’, EMPS’, ‘STALE_PERCENT’, ‘15′)
There are three new arguments to the set_table_prefs procedure, designed to allow the DBA more control over the freshness of their statistics:
stale_percent - overrides the one-size-fits-all value of 10%
incremental - Incremental statistics gathering for partitions
publish - Allows the DBA to test new statistics before publishing them to the data dictionary
This is an important 11g new feature because the DBA can now control the quality of optimizer statistics at the table level, thereby improving the behavior of the SQL optimizer to always choose the “best” execution plan for any query.
File Group Repository - Oracle introduced an exciting new feature in 10gr2 dubbed the Oracle File Group Repository
Interval partitioning for tables - This is a new 11g partitioning scheme that automatically creates time-based partitions as new data is added. This is a marvelous one ! You can now partition by date, one partition per month for example, with automatic partition creation. New load balancing utilities -There are several new load balancing utilities in 11g (first introduced in 10gr2):
Web server load balancing
RAC instance load balancing - Staring in Oracle 10g release 2, Oracle JDBC and ODP.NET provide connection pool load balancing facilities through integration with the new “load balancing advisory” tool. This replaces the more-cumbersome listener-based load balancing technique.
Automated Storage Load balancing
Data Guard Load Balancing – Oracle Data Guard allows for load balancing between standby databases.
Listener Load Balancing
New table Data Type "simple_integer" - A new 11g datatype dubbed simple_integer is introduced. The simple_integer data type is always NOT NULL, wraps instead of overflows and is faster than PLS_INTEGER.
Improved table/index compression - Segment compression now works for all DML, not just direct-path loads, so you can create tables compressed and use them for regular OLTP work. Also supports column add/drop
Faster DML triggers - DML triggers are up to 25% faster. This especially impacts row level triggers doing updates against other tables (think Audit trigger).
Server-side connection pooling - In 11g server-side connection pooling, an additional layer to the shared server, to enable faster [actually to bypass] session creation. Server-side connection pooling allows multiple Oracle clients to share a server-side pool of sessions (USERIDs must match). Clients can connect and disconnect (think PHP applications) at will without the cost of creating a new server session - shared server removes the process creation cost but not the session creation RMAN UNDO bypass - Rman backup can bypass undo. Undo tablespaces are getting huge, but contain lots of useless information. Now rman can bypass those types of tablespace. Great for exporting a tablespace from backup.
Capture/replay database workloads - Sounds appealing. You can capture the workload in prod and apply it in development. Oracle is moving toward more workload-based optimization, adjusting SQL execution plans based on existing server-side stress. This can be very useful for Oracle regression testing.
Scalability Enhancements - The features in 11g focused on scalability and performance can be grouped into four areas: Scalable execution, scalable storage, scalable availability and scalable management.
Virtual columns - Oracle 11g virtual table columns are columns that are actually functions ("create table t1 (c1 number, c2 number, c3 as (c1+c2) virtual"), and similarly, virtual indexes that are based on functions REF partitioning, allowing you to partition a table based on the partition scheme of another. Allows you to partition an order_items table based off of the order_date column in an orders table.
Oracle 11g XML data storage - Starting in 11g, you can store XML either as a CLOB or a binary data type, adding flexibility. Oracle11g will support query mechanisms for XML including XQuery and SQL XML, emerging standards for querying XML data stored inside tables.
New Trigger features - A new type of "compound" trigger will have sections for BEFORE, ROW and AFTER processing, very helpful for avoiding errors, and maintaining states between each section.
Partitioning - partitioning by logical object and automated partition creation.
LOB's - New high-performance LOB features.
Automatic Diagnostic Repository (ADR) - When critical errors are detected, they automatically create an “incident”. Information relating to the incident is automatically captured, the DBA is notified and certain health checks are run automatically. This information can be packaged to be sent to Oracle support (see following).
Hangman Utility – The Hang Manager (hangman) utility is a new 11g tool to detect database bottlenecks. An extension of the dba_waiters and dba_blockers views, the hangman tables have a “hang chain” that allow the DBA to find the source of “hangs”, such as the “deadly embrace” where mutually blocking locks or latches hang a process. In 11g, the hangman utility is installed on all RAC nodes by default, allowing for easier inter-node hang diagnostics.
Health Monitor (HM) utility - The Health Monitor utility is an automation of the dbms_repair corruption detection utility. When a corruption-like problem happens, the HR utility will checks for possible corruption within database blocks, redo log blocks, undo segments, or dictionary table blocks.
Incident Packaging Service (IPS) - This wraps up all information about an incident, requests further tests and information if necessary, and allows you to send the whole package to Oracle Support. Source:
Feature Based Patching - All one-off patches will be classified as to which feature they affect. This allows you to easily identify which patches are necessary for the features you are using. EM will allow you to subscribe to a feature based patching service, so EM automatically scans for available patches for the features you are using.
Enhanced Read only tables -
Invisible indexes - claims that the new 11g "invisible indexes" are a great new feature. It appears that the invisible indexes will still exist, that they can just be marked as "invisible" so that they cannot be considered by the SQL optimizer. With the overhead of maintaining the index intact, I don't see why this is very useful.
Oracle 11g RAC parallel upgrades - Oracle 11g promises to have a rolling upgrade features whereby RAC database can be upgraded without any downtime. Ellison first promised this feature in 2002, and it is a very challenging and complex 11g new feature.
Oracle RAC load balancing advisor - Starting in 10gr2 we see a RAC load balancing advisor utility. Oracle says that the 11g RAC load balancing advisor is only available with clients which use .NET, ODBC, or the Oracle Call Interface (OCI).
ADDM for RAC - Oracle will incorporate RAC into the automatic database diagnostic monitor, for cross-node advisories.
Optimized RAC cache fusion protocols - moves on from the general cache fusion protocols in 10g to deal with specific scenarios where the protocols could be further optimized.
Hot patching - Zero downtime patch application.
Data Guard - Standby snapshot - The new standby snapshot feature allows you to encapsulate a snapshot for regression testing. You can collect a standby snapshot and move it into your QA database, ensuring that your regression test uses real production data.
Quick Fault Resolution - Automatic capture of diagnostics (dumps) for a fault
Interfaces to Applications - This note says "Oracle says that extending Enterprise Manager's capabilities are part of the firm's promise to seamlessly integrate the spoils of its many acquisitions -- including the purchases of Siebel Systems and PeopleSoft Corp. -- into a single platform."
OEM Easy de-install - This will uninstall both successful and unsuccessful Oracle installs.
OEM Support workbench - Once the ADR has detected and reported a critical problem, the DBA can interrogate the ADR, report on the source of the problem, and in some cases even implement repairs.
Database repair wizard - A GUI to guide beginners through the steps to diagnose and repair Oracle issues.
Better OEM Grid tools - Another new Oracle11g feature may be improved RAC and Grid monitoring, especially on the cache fusion interconnect.
Enterprise Manager interfaces to foreign applications - This note says "Oracle says that extending Enterprise Manager's capabilities are part of the firm's promise to seamlessly integrate the spoils of its many acquisitions -- including the purchases of Siebel Systems and PeopleSoft Corp. -- into a single platform."
Oracle 11g programming language support New Features
PHP - Improved PHP driver for Oracle.
Compilers - Improved native Java & PL/SQL compilers.
Oracle 11g XML Enhancements - Oracle 11g will also support Content Repository API for Java Technology (JSR 170). Oracle 11g has XML "duality", meaning that you can also embed XML directives inside PL/SQL and embed PL/SQL inside XML code. Oracle 11g XML will also support schema-based document Type Definitions (DTD's), to describe internal structure of the XML document.
Scalable Java - The next scalable execution feature is automatic creation of "native" Java code, with just one parameter for each type with an "on/off" value. This apparently provides a 100% performance boost for pure Java code, and a 10%-30% boost for code containing SQL.
Improved sequence management - A new features of Oracle 11g will bypass DML (sequence.nextval) and allow normal assignments on sequence values.
Intra-unit inlining. In C, you can write a macro that gets inlined when called. Now any stored procedure is eligible for inlining if Oracle thinks it will improve performance. No change to your code is required. Now you have no reason for not making everything.
PL/SQL "continue" keyword - This will allow a "C-Like" continue in a loop, skipping an iteration to bypass any "else" Boolean conditions. A nasty PL/SQL GOTO statement is no longer required to exit a Boolean within a loop.
begin for i in 1..3 loop dbms_output.put_line(’i=’to_char(i)); if ( i = 2 ) then continue; end if; dbms_output.put_line(’Only if i is not equal to 2′); end loop;end;
Disabled state for PL/SQL - Another 11g new feature is a "disabled" state for PL/SQL (as opposed to "enabled" and "invalid" in dba_objects).
Easy PL/SQL compiling - Native Compilatio no longer requires a C compiler to compile your PL/SQL. Your code goes directly to a shared library.
Improved PL/SQL stored procedure invalidation mechanism - A new 11g features will be fine grained dependency tracking, reducing the number of objects which become invalid as a result of DDL.
Scalable PL/SQL - The next scalable execution feature is automatic creation of "native" PL/SQL (and Java code), with just one parameter for each type with an "on/off" value. This apparently provides a 100% performance boost for pure PL/SQL code, and a 10%-30% performance boost for code Enhanced PL/SQL warnings - The 11g PL/SQL compiler will issue a warning for a "when others" with no raise.
Stored Procedure named notation - Named notation is now supported when calling a stored procedure from SQL.
The /*+result_cache*/ SQL hint - This suggests that the result data will be cached in the data buffers, and not the intermediate data blocks that were accessed to obtain the query results. You can cache SQL and PL/SQL results for super-fast subsequent retrieval. The "result cache" ties into the "scalable execution" concept. There are three areas of the result cache:
The SQL query result cache - This is an area of SGA memory for storing query results.
The PL/SQL function result cache - This result cache can store the results from a PL/SQL function call.
The OCI client result cache - This cache retains results from OCI calls, both for SQL queries or PL/SQL functions.
Scalable Execution - This 11g feature consists of a number of features, the first of which is query results caching; this feature automatically caches the results of an SQL query as opposed to the data blocks normally cached by the buffer cache, and works both client (OCI) and server side - this was described as "buffer cache taken to the next level". The DBA sets the size of the results cache and turns the feature on at a table level with the command "alter table DEPT cache results", the per-process cache is shared across multiple session and at the client level, is available with all 11g
XML SQL queries - Oracle11g will support query mechanisms for XML including XQuery and SQL XML, emerging standards for querying XML data stored inside tables.
SQL Replay - Similar to the previous feature, but this only captures and applies the SQL workload, not total workload.
SQL execution Plan Management - Oracle 11g SQL will allow you to fix execution plans (explain plan) for specific statements, regardless of statistics or database version changes.
Dynamic SQL. DBMS_SQL is here to stay. It's faster and is being enhanced. DBMS_SQL and NDS can now accept CLOBs (no more 32k limit on NDS). A ref cursor can become a DBMS_SQL cursor and vice versa. DBMS_SQL now supprts user defined types and bulk operations.
Improved SQL Access Advisor - The 11g SQL Access Advisor gives partitioning advice, including advice on the new interval partitioning. Interval partitioning is an automated version of range partitioning, where new equally-sized partitions are automatically created when needed. Both range and interval partitions can exist for a single table, and range partitioned tables can be converted to interval partitioned tables.
Resource Manager - The 11g Resource Manager can manage I/O, not just CPU. You can set the priority associated with specific files, file types or ASM disk groups.
ADDM - The ADDM in 11g can give advice on the whole RAC (database level), not just at the instance level. Directives have been added to ADDM so it can ignore issues you are not concerned about. For example, if you know you need more memory and are sick of being told it, you can ask ADDM not to report those messages anymore.
Faster sorting - Starting in 10gr2 we see an improved sort algorithm,
AWR Baselines - The AWR baselines of 10g have been extended to allow automatic creation of baselines for use in other features. A rolling week baseline is created by default.
Adaptive Metric Baselines - Notification thresholds in 10g were based on a fixed point. In 11g, notification thresholds can be associated with a baseline, so the notification thresholds vary throughout the day in line with the baseline.
Enhanced Password - Pete Finnigan notes some new Oracle 11g security features "[Oracle 11g] will have case sensitive passwords and also the password algorithm has changed to SHA-1 instead of the old DES based hashing used."
Oracle SecureFiles - replacement for LOBs that are faster than Unix files to read/write. Lots of potential benefit for OLAP analytic workspaces, as the LOBs used to hold AWs have historically been slower to write to than the old Express .db files. Securefiles are a huge improvement to BLOB data types. Faster, with compression, encryption.
Oracle 11g audit vault - Oracle Audit Vault is a new feature that will provide a solution to help customers address the most difficult security problems remaining today, protecting against insider threat and meeting regulatory compliance requirements.
Proxy connect for SQL*Plus
FGAC for UTL_SMTP, UTL_TCP and UTL_HTTP. You can define security on ports and URLs. Source:
You specify the SQL tuning sets similar to the 10g offering and use the dbms_sqlpa package (SQL performance analyzer) to manage the SQL each "analyzer task" with dbms_sqlpa procedures (create_analysis_task, cancel_analysis_task, drop_analysis_task, reset_analysis_task, report_analysis_task, resume_analysis_task, interrupt_analysis_task).
Currently, they are working to a capture performance overhead of 5%, so you could conceivably capture real production workloads.
Archive log management for Streams and Data Guard
Network aware DUPLICATE
Optimized undo backup
Improved corrupt block detection
Native PL/SQL use of Seq.Nextval in a PL/SQL program.
Enhanced PL/SQL warnings and error messages.
New package DBMS_HPROF controls the recording of raw PLSTIMER data.
Continued support of standards with JDBC 4.0 and JVM 5.0. Capability to upgrade to JVM 6.0 will be available in the future.
Oracle JVM JIT supports transparent native Java compilation without a C Compiler.
Significant performance improvements with JDBC performance especially with Advanced Queuing.
JDBC supports server side result cache alone with OCI client side result cache. Additional things I liked included the "big" improvements in the JIT and RAC support for JDBC.
New command line interface to OracleJVM making it a lot easier to work with the JDK in the database.
Support for database resident JARs.
JDBC support for starting and shutting down the database.
Performance enhancements to XPath query for Java.
XML applications can now process larger XML documents by loading and saving .
DOM nodes in memory and using a page manager for physical binary data management.
Unified Java API for XML allows mid-tier Java programs to leverage lazily loading by allowing a disconnected mode of operation that allows a XMLType to be used with a session pool model of connection management.
HTML-DB 11g enhancements
APEX will be standard with an embedded PL/SQL gateway.
APEX will have an application packager for packing and deployment of APEX applications.
Data Pump Enhancements to use when you're moving data
Compression and encryption enhancements
Support for XML Schemas and schema-based tables.
Transportable partitions Change assurance (important for saving money during testing and migration)
Change assurance new features of Database Replay and SQL Replay can play a large role in reducing costs, testing and issues when migrating to Oracle Database 11g. This is one of the best new features in this release.
SQL performance analyzer - finds and fixes SQL performance degradations
10gR2 will have a patch set, that will allow the replay to occur.
Just as fast as file systems with all the capabilities of the Oracle database (it’s a new LOB type). It is very fast at accessing the files from a file system.
Backup and recovery mechanism
Storage management (ASM)
Transaction and concurrency model
Interface and protocol
Values added services like encryption, compression, and de-duplication
Oracle 11g Business Intelligence & OLAP
Mark Rittman notes some of the upcoming features with Oracle 11g BI suite and OLAP:
Integration of materialized view query rewrite with OLAP -
"However, in 10g OLAP although you could register a view over aggregated data in an analytic workspace with query rewrite, “normal” queries that used SUM(), AVG() and other aggregation functions, together with GROUP BY, wouldn’t get rewritten as the SQL views used over analytic workspaces were based on fully-solved cubes, i.e. the view contained all levels of aggregation and measures were already aggregated. . .
Oracle 11g data mining
With the release of the first book on ODM "Oracle Data Mining", we see increased interest in data mining within 11g and there are rumors that ODM will be greatly enhanced, moving data mining objects into the dictionary and improving the interface for complex analytics.
Posted by
myblog
at
11:34 AM
0
comments
Remarkable
This picture is made from faces of
670 soldiers who died in the Iraq War
Do you agree with that.
Any thing that bush has achieved from result of this
war
Nothing .....................
simple thousands of people
if you want any thing say about this issue please
mail me
my Email adress is shravan.1258@yahoo.com
Posted by
myblog
at
10:37 AM
0
comments
Saturday, July 14, 2007
India's Benz Car
This is Car launching in India only for Rs 1, 30,000 Car name is: “RENAULT " Will be launching in India in collaboration with Mahindra.. for Rs 1,30,000 Which is the another budget car to compete TATA and FIAT500!! After launching this car I think we will be see all these cars instead of bikes on the roads.
So now tell me how many of you are going purchase this car??? But definitely there will be
What do you think about this car .
I think this car is more then enough for middle calss familyies
What do you say ............!!!!!!!!!!!!
Posted by
myblog
at
10:02 AM
0
comments
Friday, July 13, 2007
Jeans ---The Perfect Fit
Jeans has always been the favourite in the fashion world. Jeans is available in different styles, cut and has become an all purpose wear. However to flaunt your figure you need to wear the pair that fits you best. You need to pick the pair of jeans that fit you perfectly and make you look amazing. Well it is not that difficult………all you have to do is try on several pair to find just the right style and fit. Also follow these guidelines.
Wide Hips:Perfect jeans: Choose a jean with a low-rise waist and a slight flare at the leg to help to balance your silhouette. Go for jeans with a bit of stretch and make sure they have large back pockets.
Posted by
myblog
at
10:52 AM
0
comments
DOTNET SAMPLE INTERVIEW QUESTIONS
1. Does C# support multiple-inheritance? No.
2. Who is a protected class-level variable available to? It is available to any sub-class (a class inheriting this class).
3. Are private class-level variables inherited? Yes, but they are not accessible. Although they are not visible or accessible via the class interface, they are inherited.
4. Describe the accessibility modifier “protected internal”. It is available to classes that are within the same assembly and derived from the specified base class.
5. What’s the top .NET class that everything is derived from? System.Object.
6. What does the term immutable mean?The data value may not be changed. Note: The variable value may be changed, but the original immutable data value was discarded and a new data value was created in memory.
7. What’s the difference between System.String and System.Text.StringBuilder classes?System.String is immutable. System.StringBuilder was designed with the purpose of having a mutable string where a variety of operations can be performed.
8. What’s the advantage of using System.Text.StringBuilder over System.String?StringBuilder is more efficient in cases where there is a large amount of string manipulation. Strings are immutable, so each time a string is changed, a new instance in memory is created.
9. Can you store multiple data types in System.Array?No.
10. What’s the difference between the System.Array.CopyTo() and System.Array.Clone()?The Clone() method returns a new array (a shallow copy) object containing all the elements in the original array. The CopyTo() method copies the elements into another existing array. Both perform a shallow copy. A shallow copy means the contents (each array element) contains references to the same object as the elements in the original array. A deep copy (which neither of these methods performs) would create a new instance of each element's object, resulting in a different, yet identacle object.
11. How can you sort the elements of the array in descending order?By calling Sort() and then Reverse() methods.
12. What’s the .NET collection class that allows an element to be accessed using a unique key?HashTable.
13. What class is underneath the SortedList class?A sorted HashTable.
14. Will the finally block get executed if an exception has not occurred?Yes.
15. What’s the C# syntax to catch any possible exception?A catch block that catches the exception of type System.Exception. You can also omit the parameter data type in this case and just write catch {}.
16. Can multiple catch blocks be executed for a single try statement?No. Once the proper catch block processed, control is transferred to the finally block (if there are any).
17. Explain the three services model commonly know as a three-tier application.Presentation (UI), Business (logic and underlying code) and Data (from storage or other sources).
Class Questions
1. What is the syntax to inherit from a class in C#? Place a colon and then the name of the base class.Example: class MyNewClass : MyBaseClass
2. Can you prevent your class from being inherited by another class? Yes. The keyword “sealed” will prevent the class from being inherited.
3. Can you allow a class to be inherited, but prevent the method from being over-ridden?Yes. Just leave the class public and make the method sealed.
4. What’s an abstract class?A class that cannot be instantiated. An abstract class is a class that must be inherited and have the methods overridden. An abstract class is essentially a blueprint for a class without any implementation.
5. When do you absolutely have to declare a class as abstract?1. When the class itself is inherited from an abstract class, but not all base abstract methods have been overridden. 2. When at least one of the methods in the class is abstract.
6. What is an interface class?Interfaces, like classes, define a set of properties, methods, and events. But unlike classes, interfaces do not provide implementation. They are implemented by classes, and defined as separate entities from classes.
7. Why can’t you specify the accessibility modifier for methods inside the interface?They all must be public, and are therefore public by default.
8. Can you inherit multiple interfaces?Yes. .NET does support multiple interfaces.
9. What happens if you inherit multiple interfaces and they have conflicting method names?It’s up to you to implement the method inside your own class, so implementation is left entirely up to you. This might cause a problem on a higher-level scale if similarly named methods from different interfaces expect different data, but as far as compiler cares you’re okay. To Do: Investigate
10. What’s the difference between an interface and abstract class?In an interface class, all methods are abstract - there is no implementation. In an abstract class some methods can be concrete. In an interface class, no accessibility modifiers are allowed. An abstract class may have accessibility modifiers.
11. What is the difference between a Struct and a Class?Structs are value-type variables and are thus saved on the stack, additional overhead but faster retrieval. Another difference is that structs cannot inherit.
Method and Property Questions
1. What’s the implicit name of the parameter that gets passed into the set method/property of a class? Value. The data type of the value parameter is defined by whatever data type the property is declared as.
2. What does the keyword “virtual” declare for a method or property? The method or property can be overridden.
3. How is method overriding different from method overloading? When overriding a method, you change the behavior of the method for the derived class. Overloading a method simply involves having another method with the same name within the class.
4. Can you declare an override method to be static if the original method is not static? No. The signature of the virtual method must remain the same. (Note: Only the keyword virtual is changed to keyword override)
5. What are the different ways a method can be overloaded? Different parameter data types, different number of parameters, different order of parameters.
6. If a base class has a number of overloaded constructors, and an inheriting class has a number of overloaded constructors; can you enforce a call from an inherited constructor to a specific base constructor?Yes, just place a colon, and then keyword base (parameter list to invoke the appropriate constructor) in the overloaded constructor definition inside the inherited class.
Events and Delegates
1. What’s a delegate? A delegate object encapsulates a reference to a method.
2. What’s a multicast delegate? A delegate that has multiple handlers assigned to it. Each assigned handler (method) is called.
XML Documentation Questions
1. Is XML case-sensitive? Yes.
2. What’s the difference between // comments, /* */ comments and /// comments? Single-line comments, multi-line comments, and XML documentation comments.
3. How do you generate documentation from the C# file commented properly with a command-line compiler? Compile it with the /doc switch.
Debugging and Testing Questions
1. What debugging tools come with the .NET SDK?1. CorDBG – command-line debugger. To use CorDbg, you must compile the original C# file using the /debug switch. 2. DbgCLR – graphic debugger. Visual Studio .NET uses the DbgCLR.
2. What does assert() method do? In debug compilation, assert takes in a Boolean condition as a parameter, and shows the error dialog if the condition is false. The program proceeds without any interruption if the condition is true.
3. What’s the difference between the Debug class and Trace class? Documentation looks the same. Use Debug class for debug builds, use Trace class for both debug and release builds
4. Why are there five tracing levels in System.Diagnostics.TraceSwitcher? The tracing dumps can be quite verbose. For applications that are constantly running you run the risk of overloading the machine and the hard drive. Five levels range from None to Verbose, allowing you to fine-tune the tracing activities.
5. Where is the output of TextWriterTraceListener redirected? To the Console or a text file depending on the parameter passed to the constructor.
6. How do you debug an ASP.NET Web application? Attach the aspnet_wp.exe process to the DbgClr debugger.
7. What are three test cases you should go through in unit testing? 1. Positive test cases (correct data, correct output).2. Negative test cases (broken or missing data, proper handling).3. Exception test cases (exceptions are thrown and caught properly).
8. Can you change the value of a variable while debugging a C# application? Yes. If you are debugging via Visual Studio.NET, just go to Immediate window.
ADO.NET and Database Questions
1. What is the role of the DataReader class in ADO.NET connections? It returns a read-only, forward-only rowset from the data source. A DataReader provides fast access when a forward-only sequential read is needed.
2. What are advantages and disadvantages of Microsoft-provided data provider classes in ADO.NET? SQLServer.NET data provider is high-speed and robust, but requires SQL Server license purchased from Microsoft. OLE-DB.NET is universal for accessing other sources, like Oracle, DB2, Microsoft Access and Informix. OLE-DB.NET is a .NET layer on top of the OLE layer, so it’s not as fastest and efficient as SqlServer.NET.
3. What is the wildcard character in SQL? Let’s say you want to query database with LIKE for all employees whose name starts with La. The wildcard character is %, the proper query with LIKE would involve ‘La%’.
4. Explain ACID rule of thumb for transactions.A transaction must be:1. Atomic - it is one unit of work and does not dependent on previous and following transactions.2. Consistent - data is either committed or roll back, no “in-between” case where something has been updated and something hasn’t.3. Isolated - no transaction sees the intermediate results of the current transaction).4. Durable - the values persist if the data had been committed even if the system crashes right after.
5. What connections does Microsoft SQL Server support? Windows Authentication (via Active Directory) and SQL Server authentication (via Microsoft SQL Server username and password).
6. Between Windows Authentication and SQL Server Authentication, which one is trusted and which one is untrusted? Windows Authentication is trusted because the username and password are checked with the Active Directory, the SQL Server authentication is untrusted, since SQL Server is the only verifier participating in the transaction.
7. What does the Initial Catalog parameter define in the connection string? The database name to connect to.
8. What does the Dispose method do with the connection object? Deletes it from the memory.To Do: answer better. The current answer is not entirely correct.
9. What is a pre-requisite for connection pooling? Multiple processes must agree that they will share the same connection, where every parameter is the same, including the security settings. The connection string must be identical.
Assembly Questions
1. How is the DLL Hell problem solved in .NET? Assembly versioning allows the application to specify not only the library it needs to run (which was available under Win32), but also the version of the assembly.
2. What are the ways to deploy an assembly? An MSI installer, a CAB archive, and XCOPY command.
3. What is a satellite assembly? When you write a multilingual or multi-cultural application in .NET, and want to distribute the core application separately from the localized modules, the localized assemblies that modify the core application are called satellite assemblies.
4. What namespaces are necessary to create a localized application? System.Globalization and System.Resources.
5. What is the smallest unit of execution in .NET?an Assembly.
6. When should you call the garbage collector in .NET?As a good rule, you should not call the garbage collector. However, you could call the garbage collector when you are done using a large object (or set of objects) to force the garbage collector to dispose of those very large objects from memory. However, this is usually not a good practice.
7. How do you convert a value-type to a reference-type?Use Boxing.
8. What happens in memory when you Box and Unbox a value-type?Boxing converts a value-type to a reference-type, thus storing the object on the heap. Unboxing converts a reference-type to a value-type, thus storing the value on the stack.
Posted by
myblog
at
10:12 AM
0
comments


