1 / 0

Preparing for technical job interviews

Entire article, and much more, is available at www.mknopf.com/topics/code-camp-orlando.html. Preparing for technical job interviews. By Michael Knopf. Items covered in this session. Current job trend in the USA: Its not a pretty sight Getting Prepared for the Job Market

camdyn
Download Presentation

Preparing for technical job interviews

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Entire article, and much more, is available at www.mknopf.com/topics/code-camp-orlando.html

    Preparing for technical job interviews

    By Michael Knopf
  2. Items covered in this session Current job trend in the USA: Its not a pretty sight Getting Prepared for the Job Market Saving for a Rainy Day Evaluating your skill set: Identifying your strengths and weaknesses Comparing yourself to your peers: how do I measure up? Preparing your resume: Guess what, its read by a computer first Keywords, keywords, keywords Finding a Job: Searching for, finding, and being found The interview: What to expect How to prepare Being yourself (Not) Knowing it all Working with Recruiters Finding a job is a full time job Leveraging recruiters to work for you while you work on yourself Do’s and Don’t www.mknopf.com/topics/code-camp-orlando.html
  3. Items covered (Cont.) Being “All You Can Be” Staying informed on what’s happening in Tech. Practicing the fundamentals: What are they anyway? Design Patterns: What they are and why you need to know them You’re already using them, but didn’t even know it There are no “experts”, only commitments Teaching yourself the skills that are in demand: WCF & Software as a Service (SOA), Silverlight & WPF, C# & VB.NET, Web Forms (Classic ASP.NET), ASP.NET MVC, JavaScript & jQuery, AJAX, MSSQL & Oracle, ORM (LINQ, NHibernate, ADO.NET Entity Framework, SubSonic), Visual Studio & Blend, Photoshop &Adobe Illustrator Contributing to the community – it makes you a better developer: Do you Blog? You should be! Do you read Blogs? You should be!!! Using and Giving Back: OSS, Alpha’s & Beta’s, putting pen to paper (well, actually finger to keyboard), teaching others what you’ve learned (Mentoring) Real Questions asked in Real Interview: your going to be surprised www.mknopf.com/topics/code-camp-orlando.html
  4. Jobs Lost in the United states U.S. Dept. of Labor & Statistics Report (www.bls.gov) 14,871,000 out of work in February 2010 14,837,000 out of work in January 2010 15,268,000 out of work in December 2009 12,714,000 out of work in February 2009 www.mknopf.com/topics/code-camp-orlando.html
  5. The situation at a glance www.mknopf.com/topics/code-camp-orlando.html
  6. Getting Prepared: Evaluating your skill set Saving for a Rainy Day: You will need money to pay your bills when you’re out of work. Plan for it now!!! Put 2 months of your net salary in a savings account and DO NOT TOUCH IT until you are unemployed. Identifying your strengths and weaknesses: How would you rate your skills (1-10) where 10 is the highest and 0 is the lowest. ASP.NET Web Forms: ASP.NET MVC: Windows Forms: SQL: OOP: C#: VB.NET: JavaScript/jQuery: Design Patterns: WCF and Service Oriented Architecture:  Silverlight & WPF What else? There’s LOTS moreLook at your ratings, I strongly recommend researching and learning everything you can about any item that is under a 5. Test Your Skills: Create simple scenarios that demonstrate the fundamentals in each of these areas, then code projects that meet these scenarios www.mknopf.com/topics/code-camp-orlando.html
  7. Getting Prepared: Evaluating your skill set Comparing yourself to your peers: how do I measure up? The best way to measure yourself is to get involved with the tech. community, then you will have people to compare yourself to: Talking to others in your field about things you know, want to know, and what they are doing provides insight into the skills and experience others possess. Read blogs, articles, and books by respected individuals (be “reachable” by the community) Join user groups (on-line only groups and groups in your local community) Research what people are discussing, think deeply about these topics and form your own opinions discuss your opinions with others With your friends, family, girlfriend even if they aren’t listening you will still be gaining a better understanding of these ideas at user group meetings and tech events (i.e. Code Camp) definitely on your own blog) “Must read” blogs: Martin Fowler, Scott Guthrie, Scott Hanselman, Phil Haack, Michael Knopf (shameless plug). To download a OPML file with subscriptions to these blogs and more go to http://www.mknopf.com/Domains/www.mknopf.com/CMSFiles/Docs/blog-subscriptions.xml save it to your desktop, then “Import” it into Google Reader Perfect the fundamentals, then practice them some more, rinse and repeat www.mknopf.com/topics/code-camp-orlando.html
  8. Getting Prepared: Preparing your resume Guess what, its read by a computer first When you submit your resume to employers, recruiters, and job sites they are scanned by software and stored in a database (wow, they are using software to make their job easier, isn’t that surprising) Keywords, keywords, keywords The keywords found on your resume are used to match you with job postings. Keywords are critical to your success, just like on Google, If you don’t have the words people (employers and recruiters) are looking for then your resume will never show up in the search results and you will never get an interview. For an example of my resume go to http://www.mknopf.com/about-michael-knopf.html www.mknopf.com/topics/code-camp-orlando.html
  9. Getting Prepared: Finding a job DO NOT FEEL EMBARRESSED OR THINK YOU’RE A LOOSER BECAUSE YOU ARE OUT OF WORK, EVERYONE HAS TO FIND A JOB SOMETIME IN THEIR LIFE You have a job: finding and preparing for interviews, and it requires overtime With so many people out of work you have a lot of competition. Do not sit aroundfeeling sorry for yourself. Yes it feels like your girlfriend just dumped you and that hurts. You can and will find work, most likely a MUCHbetter job (and maybe even a better girlfriend) than you had, but you must WORKfor it!!! Searching for a Job: The internet is an invaluable resource: sites such as Dice.com, Monster.com, the on-line Classified Ads for you local paper www.orlandosentinel.com/classified/jobs/ Best of all: you can do it from home Tell everyone you know, and those you don’t, that your looking for work. It doesn’t matter if you haven’t talked to them in 20 years!!! Your direct network is a great way to get in front of employers, and you will have one-up on the competition because your skills have been validated by someone they know (and hopefully trust). Use social networkssuch as Linked In, Facebook, and MySpace to let people know you’re on the job hunt, if you’re not already using these then start immediately and search for every person you have ever known or met in your entire life. Then ask them if they know where you can find work. Do not be afraid to ask for help, this is a critical skill we call “team work” and employers want team players www.mknopf.com/topics/code-camp-orlando.html
  10. Getting Prepared: Finding a job (CONT…) Finding a job: Finding a job is not the same as searching for one, there will be lots of jobs you come across in your searches but there are things to keep in mind: Hurry up and wait: Employers may be advertising for a position but not readyto make a decision on when to hire, it is not uncommon to hear “we feel you are a strong candidate and will be making a decision in the next month or so” There is strength in numbers: the more jobs you apply for the better your chances of getting an interview that leads to an offer. When I graduated from college I applied to over 100 companies, I got 1 interview which lead to 1 job offer. When they hired me I had to wait 2 months before I started. There Is Work Out There: the Tech industry is at about 3.7% unemployment compared to the national average of 8.1% The average salary offered for high-level (senior) developers is around 80K annually Being found: Job Sites to put your resume up on : Monster.com, CareerBuilder, Yahoo Hot Jobs, Dice.com. Contact recruiters that specialize in the Tech industry such asTEKSystems, Robert Half Technologies, and K-Force Staffing www.mknopf.com/topics/code-camp-orlando.html
  11. Getting Prepared: The Interview - What to expect Lots of phone calls, be prepared to answer questions immediately because the first time you hear from someone may be a phone interview Put a phone number on your resume and on job sites/submissions that you have access to 24 hours a day. Answer the phone with “Hello this is <your name here>” so people know they got the person they wanted to talk to Nearly every employer will give a phone interview first, if they like what they hear then they will call you in for a face-to-face. Make sure you can take the calls in a quiet atmosphere, kids screaming in the background or lots of commotion will cost you the interview. It’s better to let them leave a voice mail and call them back when you can talk somewhere quite Questions about projects you have worked on: your resume may be stellar but what you have done is the only thing that matters. Be prepared to discuss things you have worked on If you don’t have a lot of experience then you need to dream up “sample” scenarios and program applications that solve these problems, you can definitely discuss these in interview, just don’t mention that it was a side project you did just to learn) Fermi Questions: “How would you move mount Fuji?” (read this blog post and then look at http://www.techinterview.org/ ) www.mknopf.com/topics/code-camp-orlando.html
  12. Getting Prepared: The Interview How to prepare Study the “Real questions asked in Real interviews” section of this document Think about a project that you really enjoyed working on, preferably one that involved a team and different types of technologies. Write a short story about the project: The business need and how you planned to fill it what you liked the most the technologies you used and why you chose them problems you encountered and how you solved them The lessons you learned along the way What you would do differently next time Example: a project that used WCF as the service layer that provided SOAP and REST interfaces to be consumed by Silverlight applications with the data stored in MS SQL and accessed using LINQ www.mknopf.com/topics/code-camp-orlando.html
  13. Getting Prepared: The Interview Being yourself It’s not Hollywood: don’t try to be who you “think” they want, be who you are, we are geeks not actors. Attitude is Everything: employers are looking for individuals who not only have the skills they need but also have a positive attitude, good work ethic, and can get along with others (you’ve heard the term “team player”, its for real) (Not) Knowing it all You are not expected to know everything If you “b------t” your way through questions you will blow the interview Be honest! If you don’t know then tell them “I’m not sure but I’ll find out”. Right after the interview is over (like in the parking lot before you drive away) do some research and email the interviewer the info you found, this will go a long way in making you stand out from the competition www.mknopf.com/topics/code-camp-orlando.html
  14. Working with recruiters Finding a job is a full time job, fortunately you have an entire workforce out there who want to help at no cost to you Leveraging recruiters to work for you while you work on yourself. Build a network of recruiters who are working to put you in front of employers that need your skills While they do the foot work you need to work on getting better at what you do (building software) by doing the things outlined in this presentation (identify strengths and weaknesses, network with people, document projects you’ve worked on, etc…) Keep them informed on what your doing, who your interviewing with, and give them feedback on how interviews went. BE HONEST (it you bombed it then tell them, if you hit a home run they need to know) www.mknopf.com/topics/code-camp-orlando.html
  15. Working with recruiters: DO’s Communicate with them daily, return their phone calls immediately, and if you haven’t heard from then find out why Tell them who you’re interviewing with (interviews set up by other recruiters, friends, family, yourself, etc…). They may have a relationship with the and can help your chances of getting hired They are competing with other recruiters, if you tell them that others are getting you interviews they will work harder to get you hired. They get paid when you get paid! If your submitted to the same job by more then one recruiter YOU COULD BE ELIMINATED from the candidates list. It also makes the recruiters look bad and your relationship with them will suffer because of it. Be honest with them and yourself about: Your skill set: don’t tell them you know Silverlight at a very high level when you really have only done a few tutorials. If you have heard of something then tell them so, if you haven’t it’s OK (your not expected to know everything), if they tell you about a job description that includes something you don’t know about then research it! Your salary requirements: Don’t under-state or over-state what you need. Be realistic or you may eliminate opportunities before you even know it. www.mknopf.com/topics/code-camp-orlando.html
  16. Being “all you can be”staying informed on technology channel9.msnd.com subscribe to and read blogs: go to http://www.mknopf.com/CMSFiles/Docs/blog-subscriptions.xml and import this blog list into your favorite reader (Google Reader is awesome) join your local .NET users group go to the Code Camps in your area (drive across the state if you have to). Tampa, Orlando, Jacksonville, and South Florida Sign up to be a speaker at an event: pick a subject you like and put “Finger to Keyboard” attend the annual and semi-annual tech conferences in your area and elsewhere (TechEd, Dev Connections, MIX, PDC) read books on the latest stuff, they are not hard to find most of all experiment with the latest things (especially OSS, Alpha’s, and Beta’s) by programming applications using "real world" scenarios. www.mknopf.com/topics/code-camp-orlando.html
  17. Being “all you can be”practicing the fundamentals What are they anyway? Single Responsibility Principle Open/Closed Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion Principle Object Oriented Programming (OOP):you have heard this term a million times, maybe even studied it in college, but can you create a program for me right now that demonstrates the core principles? Design Patterns: What they are and why you need to know them They are ways of approaching common problems that have proven to work in the real world They prevent you from making mistakes that have already been made in the past You’re probably already using them, but didn’t even know it Do you have a way or organizing your code that you use commonly (ie. Class structures and folder/file organizations, using base classes and interfaces, etc…). Most likely there is already a name for it (such as the Factory Pattern, the Strategy Pattern, the Observer Pattern). Associating Design Pattern names with its implementation allows developers to communicate ideas more effectively. Its just like doctors who know the name of a specific kind of surgery, they can discuss this surgery “pattern” with other doctors and know that miscommunication will be minimized. Go out and buy a copy of “Design Patterns: Elements of Reusable Object-Oriented Software“ and read it cover to cover, twice www.mknopf.com/topics/code-camp-orlando.html
  18. Being “all you can be”Teaching yourself the in-demand skills Windows Communication Foundation (WCF) Software as a Service / Service Oriented Architecture (SOA) Silverlight & WPF C# & VB.NET Web Forms (ASP.NET, Classic ASP, HTML Forms) ASP.NET MVC JavaScript & jQuery AJAX MSSQL & Oracle Object Relational Mapping (ORM) LINQ NHibernate ADO.NET Entity Framework SubSonic) Visual Studio & Blend Photoshop &Adobe Illustrator www.mknopf.com/topics/code-camp-orlando.html
  19. Being “all you can be” Contributing to the community Do you Blog? You should be! When you write about what you know it helps others learn You cannot contribute to a conversation if you don’t speak up Do you read Blogs? You should be!!! “Must read” blogs: Martin Fowler, Scott Guthrie, Scott Hanselman, Phil Haack, Dilbert Daily Comic Strip. Post comment on topics that you find interesting, your opinion matters. To download a OPML file with subscriptions to these blogs and many more go to http://www.mknopf.com/CMSFiles/Docs/blog-subscriptions.xml save it to your desktop, then “Import” it into Google Reader Many Blog Readers will suggest blogs that you may be interested in, this is a valuable resource for finding new and interesting avenues of information The more you read blogs the more blogs you will read: Posts often contain links to external sources of interest Posts often have comments from readers and visitors that provide links to other on-topic resources www.mknopf.com/topics/code-camp-orlando.html
  20. Being “all you can be” Contributing to the community Using and Giving Back: Open Source Software (OSS): CodePlex (http://www.codeplex.com/ ) provides you with TONS of OSS projects. Download and use them, if you like them or have improved them then request to be added to the team and contribute to the project. This is a BIG plus when it comes to your resume because you can prove you have worked with a distributed team on (hopefully) widely used project(s). It also moves you one step closer to becoming a Microsoft MVP (http://mvp.support.microsoft.com/ ) When you put your code out there for others to use, evaluate, and analyze you’re opening yourself up for criticism. This makes you WAY more cautious about how you develop, the result is you become a better developer. Alpha’s & Beta’s: download alpha and beta software, use it and then provide feedback to the development team (such as allowing the automatic “submit bug” feature to execute) Putting pen to paper (well, actually finger to keyboard): write blog posts, write a White Paper (which is a “how to” manual), write a book even if its just a PDF document you post on blogs for people to read: download and read Karl Seguin’s free PDF book Foundations of Programming Teaching others what you’ve learned (Mentoring) and learning from them, become a mentor, your apprentice will teach you more then you could even imagine www.mknopf.com/topics/code-camp-orlando.html
  21. one hour Programming challenge You have 60 min. to create an ASP.NET web application that does the following: 3 pages and 1 XML file: Default.aspx, Results.aspx, NotFound.aspx, reservations.xml Default.aspx: Contains a textbox and a Search button the search button is disabled by default Using JavaScript enable the search button only after the user has entered no less than 6 characters into the textbox, only numbers and letters are allow (no special characters like !@#, etc…). The Enter key must also be handled, in other words if the user hits enter before they have provided the required number of characters the page simply reloads and the user is told that they must enter the minimum number of chars. The search button posts the search contents to Results.aspx Results.aspx Captures the search text sent to the page Write code to search the reservations.xml file for a record whose ID matches the search value If a match is the details of the reservation record are displayed If no match is found the user is redirected to the NotFound.aspx page NotFound.aspx a message is displayed telling them that no records match their search The search criteria they entered is displayed on the page www.mknopf.com/topics/code-camp-orlando.html
  22. Real Questions in Real Interviews What is a Worker Process? When the IIS Worker Process or the ASP.NET Worker Process starts a Web application, the Web application inherits the identity of the process if impersonation is disabled. (Impersonation is the process of allowing a thread to run under a different account from its process.) However, if impersonation is enabled, each Web application runs under the user account that is authenticated by IIS or the user account that is configured in the Web.config file. Impersonation can be enabled in either of the following two ways in Web.config: <identity impersonate="true"/>This allows the Web application to run using the identity that was authenticated by IIS.<identity impersonate="true" userName="SomeUserAccount" password="SomePassword"/> This allows the Web application to run using a specific identity. www.mknopf.com/topics/code-camp-orlando.html
  23. Real Questions in Real Interviews Where can Viewstate be stored? Anywhere, by default its stored in the pageg, by the server, at the time the page is returned to the client. www.mknopf.com/topics/code-camp-orlando.html
  24. Real Questions in Real Interviews What is the effect of changing the web.config file in a running app? Resets the cache, app pool, and timing. IIS freaks out destroys session and “first load” problem because this changes the HASH for the aspx Auth cookie so everyone needs needs to get a new auth cookie. www.mknopf.com/topics/code-camp-orlando.html
  25. Real Questions in Real Interviews What is the difference between String and StringBuilder? Strings are immutable and stringbuilder by-passes this. When you concatenate a string then 3 objects. String.Format uses StringBuilder www.mknopf.com/topics/code-camp-orlando.html
  26. Real Questions in Real Interviews Are there pointers in .NET? No (although there are delegates) pointers use variables that point to memory locations. www.mknopf.com/topics/code-camp-orlando.html
  27. Real Questions in Real Interviews What is a Delegate? A delegate in C# is similar to a function pointer in C or C++. Using a delegate allows the programmer to encapsulate a reference to a method inside a delegate object. The delegate object can then be passed to code which can call the referenced method, without having to know at compile time which method will be invoked. Unlike function pointers in C or C++, delegates are object-oriented, type-safe, and secure. www.mknopf.com/topics/code-camp-orlando.html
  28. Real Questions in Real Interviews What is the GAC? Where the .NET DLL’s live so that applications have access to these. “repository for DLL’s that respects versioning” www.mknopf.com/topics/code-camp-orlando.html
  29. Real Questions in Real Interviews What is MSIL? Intermediate Language, the Compilers convert the high level code to the IL www.mknopf.com/topics/code-camp-orlando.html
  30. Real Questions in Real Interviews What is SOAP? SOAP (Simple Object Application Protocol) is a light weight protocol intended for the exchanging of structured information in a decentralized, distributed environment. It uses XML technologies to define an extensible messaging framework providing a message construct that can be exchanged over a variety of underlying protocols. The framework has been designed to be independent of any particular programming model and other implementation specific semantics. The technological foundation that makes up Web services includes SOAP, the Web Service Description Language (WSDL), Universal Description, Discovery, and Integration (UDDI), and XML. Specifically, SOAP provides a heterogeneous mechanism to allow the invocation and communication between Web services. Some of the shortcomings of the SOAP 1.1 has been clarified, updated and corrected in SOAP 1.2. SOAP 1.2 contains a number of issues such as those on interoperability and ambiguities that resulted in differences of interpretation. SOAP 1.1 is based on XML 1.0 and can only use HTTP POST headers to transmit SOAP messages. As a result, it isn't really suitable for wide-scale applications. www.mknopf.com/topics/code-camp-orlando.html
  31. Real Questions in Real Interviews What’s the difference between the GET and POST request methods? The GET method appends name/value pairs to the URL, allowing you to retrieve a resource representation. The big issue with this is that the length of a URL is limited (roughly 3000 char) resulting in data loss should you have to much stuff in the form on your page. The alternative to the GET method is the POST method. This method packages the name/value pairs inside the body of the HTTP request, which makes for a cleaner URL and imposes no size limitations on the forms output, basically its a no-brainer on which one to use. Most applications overload POST to take care of everything but resource retrieval. www.mknopf.com/topics/code-camp-orlando.html
  32. Real Questions in Real Interviews What is OOP? If you don’t know you need to find out Inheritance Polymorphism Abstraction Encapsulation www.mknopf.com/topics/code-camp-orlando.html
  33. Real Questions in Real Interviews What is the coolest piece of code you have written ? Has to be really cool Something you know inside and out Don’t be surprised if this leads to a lengthy conversation because is opens the door for analysis of what you think is cool, how you approach problems, and your level of expertise www.mknopf.com/topics/code-camp-orlando.html
  34. Real Questions in Real Interviews Can the constructor of a class be declared as static and if so why? Yes a constructor can be static. When a constructor is declared as static it is fired before all other constructors and is very useful in instantiating variables www.mknopf.com/topics/code-camp-orlando.html
  35. Real Questions in Real Interviews Describe Web Services Behind the scenes there are three major components that make up a Web Service: The Web Service on the Server side The client application calling the Web Service via a Web Reference A WSDL Web Service description that describes the functionality of the Web Service www.mknopf.com/topics/code-camp-orlando.html
  36. Real Questions in Real Interviews Define URI and URL? (are they the same thing?)  URI (Uniform Resource Identifier) is the unique identifier that represents a service available in a RESTful application such as the World Wide Web. The Uniform Resource Locator (URL) provides a way of uniquely specifying the location of a resource on the Internet They are the same thing; URL has been replaced by URI www.mknopf.com/topics/code-camp-orlando.html
  37. Real Questions in Real Interviews What is WCF? Can you give an example of when it’s used? Windows Communication Foundation, WCF is designed in accordance with Service oriented architecture principles to support Distributed computing where services are consumed by consumers. Clients can consume multiple services and services can be consumed by multiple clients. WCF could be used when architecting a system that needs to be completely separated from its presentation layer allowing a Windows Forms, Silverlight, and Web Forms front end to interact with the same business logic layers of the system. www.mknopf.com/topics/code-camp-orlando.html
  38. Real Questions in Real Interviews Explain an Abstract class An abstract class means that, no object of this class can be instantiated, but can make derivations of this. Abstract classes can have implementation within its methods or properties them where as an Interface cannot have implementation within its methods or properties. www.mknopf.com/topics/code-camp-orlando.html
  39. Real Questions in Real Interviews Explain a Sealed class The sealed modifier is used to prevent derivation from a class. An error occurs if a sealed class is specified as the base class of another class. A sealed class cannot also be an abstract class. www.mknopf.com/topics/code-camp-orlando.html
  40. Real Questions in Real Interviews Explain a Virtual Method Abstract methods are required to be overridden, whereas virtual methods are not. Virtual methods, in contrast to abstract methods, are required to have an implementation associated with them.  Virtual methods, along with interfaces, are the only means of implementing polymorphism within C#. www.mknopf.com/topics/code-camp-orlando.html
  41. Real Questions in Real Interviews You have 1 million records and need to sort, how would you do this? Bucket sort or Quick sort There are many other kinds of sorts, you should become familiar with them www.mknopf.com/topics/code-camp-orlando.html
  42. Real Questions in Real Interviews Explain the B-Tree and what it’s used for? In computer science, a B-tree is a tree data structure that keeps data sorted and allows searches, insertions, and deletions in logarithmic amortized time. It is most commonly used in databases and filesystems. www.mknopf.com/topics/code-camp-orlando.html
  43. Real Questions in Real Interviews Can you give an example of when you might use reflection? Reflection is Microsoft implementation of Code Introspection, which is the ability to have code that has Meta Data. For example: You cannot cast a string to an object so you must convert it into an object via Reflection. www.mknopf.com/topics/code-camp-orlando.html
  44. Real Questions in Real Interviews What attributes are you familiar with, how have you used them? inherit from the class System.Attibute [Test], [WebMethod], [ Serializable] (cross Service Oriented Architecture gateway which renders an XML schema defining the Meta Data so look at WCF) www.mknopf.com/topics/code-camp-orlando.html
  45. Real Questions in Real Interviews What is the name of the process that runs aspx code in XP? aspnet_wp.exe  What about 2003, Vista? w3wp.exe www.mknopf.com/topics/code-camp-orlando.html
  46. Real Questions in Real Interviews What is new in .NET 2.0? Generics and generic collections 64-bit platform support ADO.NET support for UDT (user defined types) ACL (access control list) support which grants/revokes permission to access a resource on a computer. Tons of new data control objects introduced to ASP.NET (GridView, new cache features, aspnet membership services, object/sqldatasource skips codebehind binding. MasterPages, Themes, Web Application Project model (vs. Website model) Controls render output in XHTML 1.1 standards Debugger Edit & Continue Support Data Protection API: encrypt web.config, passwords, blocks of memory www.mknopf.com/topics/code-camp-orlando.html
  47. Real Questions in Real Interviews In 3.5? WCF Web Programming Model: enables developers to build Web-style services with WCF. The Web Programming Model includes rich URI processing capability, support for all HTTP verbs including GET, and a simple programming model for working with a wide variety of message formats (including XML, JSON, and opaque binary streams) .NET compact Framework support for WCF (Windows Communication Foundation) AJAX-Enabled Website projects, AJAX Library Linq Forms authentication, roles management, and profiles can be consumed in a WCF-compatible application ListViewDatabound control and the LinqDataSource object Add-In and Extensibility support (discovery, activation, isolation, sandboxing, UI composition, Versioning) TimeZoneInfo Suite B cryptographic algorithm support published by the National Security Agency (NSA) including Advanced Encryption Standard (AES) with keys of 128 & 256 bit encryption, Secure Hash Algorithm (SHA-256 & SHA-384) for hashing Peer to Peer networking support (PNRP) Peer Name Resolution Protocol www.mknopf.com/topics/code-camp-orlando.html
  48. Real Questions in Real Interviews What's the difference between a DataTable and a DataReader? DataTable: opens the connection for less time so better for network performance, pulling back all the records and storing them for use. DataReader: pulls back data one record at a time, leaving the connection open, while executing the same query over and over again to obtain the next record. While this is faster on small record sets it is problematic will larger amounts of data and can lead to memory leaks if left unclosed. www.mknopf.com/topics/code-camp-orlando.html
  49. Real Questions in Real Interviews Explain "Having“ in SQL: Since you cannot do where’s after a Group By you add a Having which is basically a Where clause for filtering a Group By clause www.mknopf.com/topics/code-camp-orlando.html
  50. Real Questions in Real Interviews What’s the largest number of concurrent users any app you’ve worked on has supported? (had about 500 concurrent users and can handle about 2000, looking at logs shows how many transaction you support per second which you figure out how many requests a thread can process per second multiplied by the number of threads) How did you scale to that? We implemented a Web Farm behind a Proxy Server that handled request distribution. We set up a separate SQL box and a mirrored backup Any problems scaling? I/O is the biggest bottleneck, we have to closely watch our code to reduce the number of database transactions and page size which is a constant battle. www.mknopf.com/topics/code-camp-orlando.html
  51. Real Questions in Real Interviews Name the ways Lazy Loading can be implemented and describe each Lazy Initialization: The object to be lazily loaded is initially set to NULL, and every request for the object checks for NULL and creates it “on the fly” before returning it first Virtual Proxy: a virtual proxy is an object that “looks like” the object that is to be lazily loaded. Both the object and the proxy implement the same interface, with the proxy providing a wrapper that instantiates and initialize the object when one of its properties is accessed for the first time Ghost: a ghost is the object that is to be loaded in a partial state. It may only contain the objects identifier, but it loads its own data the first time one of its properties is accessed. Value Holder: a value holder is a generic object that handles the lazy loading behavior, and appears in place of the object’s data fields. www.mknopf.com/topics/code-camp-orlando.html
  52. Real Questions in Real Interviews What are the consequences of lazy loading with systems that are expected to grow to contain a large number of records? Since lazy loading instantiates an objects properties upon request a system that is normalized and contains a large set of data can result in a vast number of queries executing against the database, hindering performance through an ever increases consumption of server resources and network connections www.mknopf.com/topics/code-camp-orlando.html
  53. Real Questions in Real Interviews What design patterns are you familiar with? Which design pattern is your favorite and why? Why are design patterns important?  (Pick the one the candidate is most familiar with, and ask questions until the candidate says "I don't know") Strategy, Factory, Decorator, Composite, Observer, Repository, Singleton, Proxy, many more…. www.mknopf.com/topics/code-camp-orlando.html
  54. Real Questions in Real Interviews Ajax Describe AJAX. Ajax (asynchronous JavaScript and XML), or Ajax, is a group of interrelated web development techniques used for creating interactive web applications or rich Internet applications. With Ajax, web applications can retrieve data from the server asynchronously in the background without interfering with the display and behavior of the existing page. Data is retrieved using a variety of means such as JSON and XML Describe some disadvantages of AJAX. Two connection limit in browsers is a major constraint and can cause the page to appear to have locked up because the limit has been exceeded, transferring large amount of data can cause the same perception. Ajax has a high number of network calls because your increasing the number of wires in order to pass the data back and forth, if you do GET you can do cross browser but your limited to 3,000 char per request but if you use POST you cannot do cross browser www.mknopf.com/topics/code-camp-orlando.html
  55. Real Questions in Real Interviews Give an example of cross browser difficulties: DOM is traversed differently, Z-indexes are handled different, different color palettes (transparent on IE 6) are rendered differently How can you hide a div using css? Visibility: hidden (makes it take up the space it will normally take up), Display: none (does not take up the space it normally would) How can you hide a div using javascript? .style.display = none www.mknopf.com/topics/code-camp-orlando.html
  56. Lets talk Visit www.mknopf.com/topics/code-camp-orlando.html for more information www.mknopf.com/topics/code-camp-orlando.html
More Related