|
Not sure if this is something you would consider, but why not call or email the Project Manager and ask what exactly the deal breaker was? Couldn't hurt to get some feedback so you can improve in the future...
|
|
|
|
|
Thanks, I have done that. But he said he won't be able to get back to me for a week or so. I figured I could get second opinions in the mean-time.
I guess patience isn't on my list of strong point
|
|
|
|
|
Given the constraints of the project I don't see anything really wrong with the code. It seems fairly well written, well commented (which is really nice) and uses two dimentional arrays - which is something I wouldn't have thought of. I'd have created a class to hold the number and the repetitions and store that in an object array.
For someone that's never written unit tests before your tests are fairly good. They aren't too complex, it is easy to see what each of them does. Obviously, you'd need a bit of guidance, but your give-it-a-go attitude shows me that you are willing to try new things. That, to me, is very important for a software developer. Technology moves on at breakneck speed these days and software developers need to keep up.
Obviously, without seeing the other assignments the other candidates turned in I can't say one way or another whether theres were better or not. However, a few months ago the company I work for went on a recruitment drive and it was shocking the quality of work that was handed in. We do the technical test first - and based on what I see here, I know that you'd be in the short list of the second interview. (The assignment we give is to write a small WinForms application. It is of similar complexity, but we encourage the use of what ever is in the .NET Framework).
Anyway, that's my tuppenyworth.
|
|
|
|
|
Thanks, I appreciate your feedback. Especially since I've read many of your posts and have seen that you know what you're talking about.
I had considered creating a class or struct for the histogram, but figured the simplicity and straight-forwardness of an array was a good idea. Plus, I assumed that the injunction against built-in data structures meant I had to show I new how to use an array efficiently. Once I figued I would be using nothing more than a multi-dimensional array there didn't seem any point in wrapping it in a class and going through all the work of implementing the interfaces that were already supported by arrays from the get-go.
Obviously, because I'm new to interviewing this was a bit of a blow to my ego. But from the responses to this post, I figure I can just suck it up and move on. It's all part of the process and everybody's got to go through it. Up 'til now I've been lucky to get by pretty easy, so thank you again.
Mark
|
|
|
|
|
The core thing to remember is, you have no control over who else applied. There's not necessarily a problem with your code, someone else may have come along who, for some reason, seemed a better proposition.
I would definately pursue them to ask why you didn't get the job, it shows that you're looking to improve yourself and open to feedback. It could open future doors there as well as give you some feedback on their thinking.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
Christian Graus wrote: The core thing to remember is, you have no control over who else applied
You're right. They didn't say that to me, they indicated their decision was based on my code. However, they were under no obligation to say their reason was that they found someone better. So that very well could be the reason.
Christian Graus wrote: I would definately pursue them to ask why you didn't get the job
Thanks, I'll make sure and follow up to make sure I get some feedback.
|
|
|
|
|
Hello Mark!
I just had a quick look threw your code.
As I only have .Net 1.1 VS2003, I couldn't open the sln, so I just looked into "Program.cs".
What confuses me is the usage of an int[] and why the code is not throwing an exception in your program (because it is doing that in my test program).
int[] list = new int[0];
...
//assign value in text file
list[i] = val; //here the null ref. exception is thrown (Is it a feature in .Net>1.1???)
I would have used an ArrayList for that.
This class implements IList (Add method) and also has a Sort method.
With a user IComparer class and the usage of the "CompareTo" method from the int class, there would be no need for the user Sort method.
Apart from that:
I like the usage of static method, the "using"-blocks and of corse the usage TryParse!
Hope my statment is not completely rubish.
All the best,
Martin
|
|
|
|
|
Martin# wrote: I would have used an ArrayList for that.
This class implements IList (Add method) and also has a Sort method.
With a user IComparer class and the usage of the "CompareTo" method from the int class, there would be no need for the user Sort method.
The additional notes state that no built-in data structures or sort functions are allowed.
|
|
|
|
|
|
Thanks,
I don't currently have VS2003 installed - that might be a good thing to check. There might have been compatibility problems - TryParse is a v2.0 method.
The use of built-in data structures (such as ArrayList) and Sort methods were explicitly forbidden in the instructions. ArrayList itself wasn't in the list of forbidden structures, but it did mention stacks, queues and lists. That's why I chose int[] - and I implemented the Expand() and Trim() methods similar to those used by ArrayList to allocate and trim the array elements as needed.
Thanks for your feedback.
|
|
|
|
|
Mark J. Miller wrote: TryParse is a v2.0 method.
This is really a good thing in 2.0!
I allways use double.TryParse!
Mark J. Miller wrote: That's why I chose int[]
I understand now!
But what about the null ref. exception I'm getting!
All the best,
Martin
|
|
|
|
|
Martin# wrote: But what about the null ref. exception I'm getting!
Unfortunately, I don't have v1.1 framework currently installed. So I'll have to check against that. When I run the project using VS2005 I don't get the NullReferenceException. So I'll be installing v1.1 later today so I can take a look at the exception and why it might be happening. I'm assuming you haven't made any changes to the input file and that the only difference between your environment and mine is the framework version - please let me know if I'm wrong.
Thanks,
Mark
|
|
|
|
|
Sorry Mark!
I didn't got the point on the ExpandArray method!
All the best,
Martin
|
|
|
|
|
I have attended many interviews. With some companies I found the same thing what happened to you. Later to my curiosity I inquired with consultants only to find that for the project for which I was selected is on hold... or may not come in stipulated time frame so they have rejected the candidature
So bottom line is that some time companies take people in anticipation of some projects and finally if the project is on hold or withdrawn people are no more required and so all their candidature is rejected thats it !!!
I hope you understood what I was trying to convey to you... So don't worry !!!
Regards,
Jaiprakash M Bankolli
jaiprakash.bankolli@gmail.com
http://jaiprakash.blog.com/
|
|
|
|
|
Thanks, I have seen that happen as well.
|
|
|
|
|
Id bet there was nothing specifically wrong with your assignment, and id guess from readiing your post that the interview itself went ok (you seem pretty intelligent). My guess is just someone else seemed to the interviewer like they might "fit in" better.
Interviews are usually just a formality, if you've gotten that far then they are pretty sure you have the skills they need. Its just a case of picking which one gives you the best vibes. So, my best advice to you is walk into interviews confidantly. Shake hands with a reasonably firm handshake. Smile alot and be generally agreeable. Most of all, remember that an interview is as much for you as for them. Have a look around when you are being led through offices/buildings. Is it a nice environment, are people happy. Ive taken more than one job ive regretted due to a bad working environment.
|
|
|
|
|
Thank you, I'll keep that in mind.
|
|
|
|
|
Mark,
I just have a few comments here none that really relate to your code except this next remark. Were I you, and had nothing left to lose I'd be sending the guy a link to this thread. I think this only demonstrates your exceptional qualities as a developer. If that guy doesn't see it he's a first class JACKIE with a blind-eye.
Now let me say the rest of this. Thanks for your absolute honesty and vulnerability in making this post. I'm humbled foremost (and most importantly) and intrigued by your open honesty here. I think you have received some information here that accompanies your code and your experience thus far exceptionally. If you were to take this thread, your experience, code and the comments here and merge them into an article (I'd be honored to help you assemble/proof it and I bet Colin would let a helpful eye as well.) for submission here on CP you'd be doing many, many developers a huge favor.
This is exactly the type of experience that none of us knows how to prepare for but we know for a fact exists and will happen to us at some point in our interview-careers. I cannot tell you the times I've practiced recursion, brute-force and other methods of programming in expectation of something like this but never really knew what might come. Honestly, aside from short code snippets on-the-fly in the interview I've not had to do anything like you have here.
I just feel like if you assembled this into an article there would be a lot of benefit to. Share your experiences with the hiring manager and you might just score a point he cannot deny.
- Rex
Awesome of you to be open like this!
|
|
|
|
|
Interesting suggestion. It's exactly what I had hoped to learn by starting this thread - "what I should have known". I certainly hope at this point I get a response from the company who turned me down. That would be the most important perspective of all and would fill in the gaps I still feel like I have. If I don't hear back from them in the time frame promised I'll follow up. At that point I think I'll be able to start writing something.
Until then, I'd love to hear your ideas about the article. Maybe a couple bullet points to form a rough outline that could get me started. If you want to contact me directly just remove the non-alpha characters m__a#r!!!k@m~a+x^^pr%eps.$c&o*m
Thanks,
Mark
|
|
|
|
|
Good questions. I suppose the layout just kind of appeared in my head. I'm wrapping up two projects over the next day and when I'm done I'll show you what I had in mind. Basically...
- An opening summary for why developers might value the content.
- Your original post at the top.
- See if you/I can talk Colin in to writing the implementation the way he saw to do it. Then dismember his code and place it into yours (in the article text) and any comments he provides.
- Address some of the errors experienced in the appropriate portions of the code with comments.
- In various parts of the article insert in your own feelings and how they changed over time based upon the responses. I don't mean mush feelings I mean ad any knowledge you gleaned and take some guesses at why you think certain parts of your code might have orphaned you.
- I might try on the side to solicit Christian and get his input. I think a collage of experienced feedback throughout the article from people would really spice it up.
- Conclude with your impressions from the feedback and follow-up from the hiring manager. Chalk up a "Lessons Learned Along The Way" type of statement.
|
|
|
|
|
A very interesting development to this whole story about a month after this thread was posted. I was offered a position from 2 separate departments, including the one that turned me down!!!
I hounded the guy who turned me down for some feedback. When I got the feedback he indicated that he had hoped to see OOP, logging, extensive error checking and some "show[ing] off".
I rewrote the solution with those specs in mind and sent them back to him. Not long afterwards both he and a manager from another department contacted me to know if I was still interested and available!!! However, I had just accepted a new position with a different employer as a consultant and I turned down the offers. But I left the door open and agreed to keep in contact for future opportunities.
I hope to write the article as you suggested, but I thought you might be intested in the resolution to the whole debacle. Thanks for your feedback and encouragement. I'll post the re-write code later - maybe on another thread so more people will be likely to see it and benefit from it.
|
|
|
|
|
how can i use serial port component with wpf form?i cant add serialport component to wpf form.i create serialport object but i cant create it s data received eventhow can i control serialport with wpf form?(i mean " .xaml.cs "file).
|
|
|
|
|
System.IO.Ports.SerialPort serialPort = new System.IO.Ports.SerialPort();<br />
<br />
:confused:<br />
|
|
|
|
|
ok i write this code.but i cant create data received event.where will i create data received event?please can you write me.which file and how will i write datareceived event?
|
|
|
|
|
Have you ever taken a look at the designer form of Window you are constructing. You can see how Visual Studio creates/modifies/adds events to all controls of the form. For example for a button control it would be something like this:
Button b=new Button();
this.b.Text="This is some sample text";
//example event code
this.b.Click += new System.EventHandler(this.button1_Click);
this.Controls.Add(this.button1);
All you would have to do is to find the event details in the Object Browser and then setup the even similar to that above but specific to the serialport.
Regards,
Thomas Stockwell
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Visit my homepage Oracle Studios[ ^]
|
|
|
|