Reputation: 9571
I just got offered a job interview with short notice. Tomorrow morning I'm interviewing for a positions which has C# as a required proficiency. The position is a co-op position and I'm fairly certain the company understands that incomming students will probably have very limited, if any, experience in C# especially because the local college does not offer a class in it (that's not to say people can't learn it on the side, but something to keep in mind).
I will make sure it is known that I have not used C# before, but my question is this: Given what I know (listed below) what topics specific to C# should I learn that are unique to the language or perhaps drastically different from many other languages?
Languages that I feel at least comfortable with are:
Upvotes: 4
Views: 12312
Reputation: 1630
Basic Opps Concept learn first if you are basic programmer. if you are not a basic level programmer then start with this :- csharp.2000things
Upvotes: 0
Reputation: 11403
I think most questions will be about:
Upvotes: 0
Reputation: 185872
In under 24 hours, there is very little you can learn about C# that would convince an interviewer that has even a slight clue that you know the language. Focus on brushing up on your own strengths (e.g.: solve some interesting algorithm problem in some language you know).
If you really want to cram, read an overview.
I understand the desire to impress with at least some smidgeon of knowledge, and it certainly can't hurt to be able to say that you've started looking into it. But as an interviewer, one of the first questions I ask is what languages the candidate is familiar with, and then proceed on that basis. I don't question them on what they know of languages they haven't used, because I know that anything they've picked up online will be superficial and largely useless in the day-to-day process of writing code. Instead, I focus entirely on a demonstration of the skills they possess in whatever language they are comfortable with. Of course, that's just my style and I can't guarantee tomorrow's interviewers will have same viewpoint. But I still think that, as a basic guiding principle, you should always play to your strengths.
With regard to language similarities, don't pay any attention to the advice that Java and C# are similar, and most certainly do not make such a claim in an interview for a C# job. While the languages may be superficially similar, with many features in common, C# has numerous modern language features that Java lacks (iterators, lambda forms, LINQ, struct, properties, expression objects, reference parameters, indexers, etc.). This leads to wildly different programming styles.
Upvotes: 1
Reputation: 17637
Here's what I'd focus on for a job interview.
Many companies picking up C# developers are taking them from a market where a large number have programmed in VB. A lot of companies - particularly those funding Agile or Lean projects, where the cost of change needs to be kept low - prefer to hire Java developers. The Java community has a larger open-source base, a tendency to program with smaller classes and better adherence to the SOLID principles, and know how to write unit tests, acceptance tests and use design patterns appropriately and effectively.
Things you already know:
New things worth picking up:
(*) These are why I prefer C# to Java these days... Microsoft platforms aside...
Things which you know about because of Java / wide language exposure and they might** not:
(**) I said might not already!
Good luck with the interview!
Upvotes: 2
Reputation: 303
Since its a coop position, and you know java, they most likely won't ask many questions that are specific to C#. Most likely they will ask two types introductory type of questions - 1) programming concepts, and 2) algorithm questions
1) for programming concepts, questions like:
- object oriented programming concepts (polymorphism, abstraction, interfaces etc)
- what is the difference between public/private methods
- how to write accessor methods in C#
- what does immutable mean
- when to use regular strings vs StringBuilder
2) for algorithm question, almost all tech coop employers ask some variation of:
- how do design an algorithm to reverse a string, using a buffer and/or no buffer (eg: in place)?
Upvotes: 6
Reputation: 16959
They will probably ask you about all the keywords, like what does sealed mean? When do you override? Tell me what static is... What's the app.config used for...
But they really want you to say you have experience with SQL server, ASP, winforms, and WPF... since you're a student you probably don't have that kind of experience, but that's what they want.
Upvotes: 0
Reputation: 128
The most important thing is not C# itself, which you should have no trouble with, but the .Net framework itself.
Upvotes: 2
Reputation: 20049
Java is your closest, and a lot of the stuff you know there will be directly applicable to C#.
The syntax is similar, and the concepts behind it are similar, such as automatic memory management, intermediate language etc.
There are obviously a few subtle differences, but if you read up on something like 'C# for Java Programmers' you should be pretty primed.
Upvotes: 0
Reputation: 19620
C# is very close to Java, so you mostly need to learn in in terms of the differences.
Try this article.
Upvotes: 3