Subj : Re: Software Job Market Myths To : comp.programming,comp.software-eng From : rem642b Date : Mon Aug 15 2005 12:39 pm > From: Chris Sonnack > * What is J2EE? What does it mean? There's an aliasing in version numbers in Java. Java 1.1 is considered J1, wheras Java 1.2 onward is all considered J2. EE means Enterprise Edition, the version that has all the extra libraries needed for full-functionning commercial networking software. This is compared with J2SE which is the Standard Edition, the one you typically find on a public ISP, and J2ME which is the stripped down version for small devices that don't have enough memory to hold all of J2SE. In summary, J2EE is the Enterprise Edition from 1.2 onward. > * What is a Java Bean? It's a Java class that satisfies some particular restrictions and is used for some particular purposes. All its instance variables must be private or protected, and for each there must be an accessor and a mutator with following specific naming conventions. That's the main restriction. It's commonly used in JSP where there's an administrative restriction not to use embedded scriptlets, but to *only* use XML-format setters and getters. Those XML notations directly map to the accessor and mutator methods in the class. It's also used for components in GUIs where there's an interactive way to design the layout (like in VB design mode), but for swing or awt, the usual Java GUI systems, the classes must also conform to the observer/observed design pattern with specific names for the various kind of action/event listeners matching the names used in the pre-defined (API) components. Note this is completely different from Enterprise Beans (entity or session), and from BeanShell. Apparently with Java being a name for coffee, the idea of a coffee bean was re-used indiscriminately for unrelated ideas. > * Name some HTML FORM controls. input (text field, password field, submit) textarea That's all I can remember off the top of my head. Looking at the library I created for CGI/CMUCL, I see: (defun emit-form-hidden (name value) (defun emit-form-edittext-oneline (size maxlength name value) (defun emit-form-edittext-password (size maxlength name value) (defun emit-form-textarea (name rows cols virwrap inittext) (defun emit-form-checkbox (name value checked text) (defun emit-form-radio (name value chkflg text) (defun emit-select-start (name) ; (setq name "lp") (defun emit-select-option (nam1 val1 nam2 val2 text) (defun emit-select-end () (defun emit-form-submit-button (label) I use checkboxes and radio button groups all the time, and would remember them whenever needed, but I'm not good at exhaustively listing everything I know outside a context of needing to use them. > * What are three possible sources of style sheet info for an HTML > element? Directly in the element itself, up in the header for the file, and in an external style sheet. The idea of CSS (Cascading Style Sheets) is that ESS is overridden by header which is overridden by in-element. > * What is the difference between an http GET and http POST? Get: URL: mainpartofurl?encodedformcontents stdin: (nothing) Post: URL: mainpartofurl stdin: encodedformcontents With the get method, it's possible to pass any string, not just encoded form contents, but encoded form contents are most common partly because it's easy to generate and partly because it makes the two methods equivalent in some ways. Note: There are other considerations: Get: Can be bookmarked, unlike post. Post: Is secure, unlike get where the whole thing shows up in system log which is viewable by *anyone* on a Unix public ISP. You absolutely don't want to use Get method to submit a login form with a plain-text password as one of the fields, but it's possibly OK to use Get method to return a one-time pseudo-random session ID, Yahoo! Mail does that anyway, but also includes cookies which are secure with either method, and it's the cookie which certifies the correct user thereby preventing mis-use of the session ID. > I'm less interested in their exact answers than how they field the > question and respond, but obviously the content of the answer does > matter. I would suggest any time they seem to get a question basically correct, you test whether they really understand or are just parroting their class notes, by giving them an assignment to actually use that knowledge in a short practical exercise. Maybe "what is wrong with this code" if the quiz is printed with handwritten answers, but "write me a JavaBean with three fields" if they are sitting at a computer with Java available for debugging those stupid syntax errors that always pop up no matter how expert you are. What is wrong with the following HTML? Project

Tourist attractions in SF bay area

The San Francisco bay area has many tourist attractions. ... Answer: The stylesheet link is supposed to be in the head section! An unfair question would be to slightly mung the URL for loose.dtd and expect anyone to notice it just from eyeball inspection. > Ability to work with others, seek out their own answers, network with > others, etc. are equally--if not in some ways more--important than > their technical ability. Those factors are difficult to evaluate during an interview and impossible to evaluate from a resume. Perhaps a brief "trial work" situation would be best? But you must be aware that this isn't the StarTrek Enterprise where the library computer always returns the relevant information if you ask it the right questions. Here in the real world, even with Google and other fine search engines, sometimes seeing out our own answers can be a real bear! So for any information seeking part of the test or trial work, you should offer several different questions for which to seek answers, and expect only a reasonable fraction of answers to be found within the short time allowed. In come cases you really do need to stop your solitary research at some point and post a well formulated query to a newsgroup and then wait a few days for somebody to volunteer an answer, which is fine for practical needs but outside the limits of the employment test. .