Java Interview gone wrong



  • "Do you know EJB's?"

    blank stare

    "You know, Java Beans?"

    "OOOHHH, I know Netbeans"



  • That person's intelligence doesn't amount to a hill of beans.



  •  Apostrophe abuse.



  • @DescentJS said:

    That person's intelligence doesn't amount to a hill of beans.
     

     I don't think EJB familiarity is a useful measure of intelligence. 



  • @obediah said:

    @DescentJS said:

    That person's intelligence doesn't amount to a hill of beans.
     

     I don't think EJB familiarity is a useful measure of intelligence. 

    You should at least know the difference between Java Beans and Netbeans, though.



  • @morbiuswilters said:

    @obediah said:

    @DescentJS said:

    That person's intelligence doesn't amount to a hill of beans.
     

     I don't think EJB familiarity is a useful measure of intelligence. 

    You should at least know the difference between Java Beans and Netbeans, though.

     

    QTF

    Not knowing the annotations and how to use EJB3 is excusable, but not knowing what a bean is means you have your head up your ass.  At least he didn't say: "yeah I know java beans, that's what they use at Starbucks to make my coffee."


  • Discourse touched me in a no-no place

    @amischiefr said:

    At least he didn't say: "yeah I know java beans, that's what they use at Starbucks to make my coffee."
    If my experience of Starbucks in the UK is anything to go by, none of their coffee has even been near a bean.

    Tasteless shite.



  • @PJH said:

    @amischiefr said:

    At least he didn't say: "yeah I know java beans, that's what they use at Starbucks to make my coffee."
    If my experience of Starbucks in the UK is anything to go by, none of their coffee has even been near a bean.

    Tasteless shite.

     

    Starbucks is the Apple of coffee. You're paying extra for the name and the appearance, even though the product is often inferior.



  • @amischiefr said:

    @morbiuswilters said:
    @obediah said:
    @DescentJS said:
    That person's intelligence doesn't amount to a hill of beans.
     I don't think EJB familiarity is a useful measure of intelligence.
    You should at least know the difference between Java Beans and Netbeans, though.
    QTF

    Not knowing the annotations and how to use EJB3 is excusable, but not knowing what a bean is means you have your head up your ass.

    What's a bean? Is it something like a pear or a gem?



  • @derula said:

    What's a bean? Is it something like a pear or a gem?
     

     

    Hang on, lemme ask Paula over in the next cubicle...

     



  • Reminds me of those newcomers who insist upon calling C++ "C Plus Plus."



  • @SilentRunner said:

    Reminds me of those newcomers who insist upon calling C++ "C Plus Plus."

    Verbally or in text? If verbally, what do you say then?



  • @SilentRunner said:

    Reminds me of those newcomers who insist upon calling C++ "C Plus Plus."

    Alright, I'll bite.

     What should I call it then?



  • @amischiefr said:

    Not knowing the annotations and how to use EJB3 is excusable, but not knowing what a bean is means you have your head up your ass.  At least he didn't say: "yeah I know java beans, that's what they use at Starbucks to make my coffee."

    In all of my C, Perl, (Bourne|Bash|Korn|Z) shell script, C++, and various other languages programming, I've not, to my knowledge, encountered1 a bean.  I've encountered them in cooking and in Bohnanza.  So this means I'm exceedingly flexible2 how?

    That having been said, I don't go to interviews for jobs that require Java experience.  While I have debugged and extended Java programs, I'm not fond of the language.  If I was out of work, and had to choose between a job maintaining well-written Java code and a job maintaining Perl Golf code, I'd possibly have a difficult choice on my hands.  It would probably come down to the personalities involved.

    1 All of the Java programs I've helped debug and extend were originally written by enterprisey programmers.  They've all been very enterprisey.  People with whom I've worked who supposedly know what Java beans are have assured me they contain no beans.

    2 All I have is the vague idea that Java beans relate to reusable coding - possibly similar to what are called 'libraries' or 'modules' in any reasonable language.  However, I've been told that particular libraries and modules are not beans, so I'm guessing either I'm wrong about what beans are, or it's a more precise concept than I'm aware.



  • @SilentRunner said:

    Reminds me of those newcomers who insist upon calling C++ "C Plus Plus."

     

    What do you call it then? D? C increment? C-p-p?



  • This isn't shocking to me. I wrote lots of Java in college, but I can't tell you exactly what EJBs are, except to expand the acronym.



  • What about "C double plus", is that wrong too? Is it perhaps "C plus equals one" or "C equals C plus one"?



  • @AngelSL said:

    @SilentRunner said:

    Reminds me of those newcomers who insist upon calling C++ "C Plus Plus."

     

    What do you call it then? D? C increment? C-p-p?

    If it's C++ it would be "E" ... not "D".

    Hm. I'm a e-programmer.

    Pssht. That'll never catch on.



  • @gsinau said:

    If it's C++ it would be "E" ... not "D".

    That would be the case if D, E and F weren't already programming languages. You also fail incrementing.


  • @AngelSL said:

    @SilentRunner said:

    Reminds me of those newcomers who insist upon calling C++ "C Plus Plus."

     

    What do you call it then? D? C increment? C-p-p?

    C doubleplusgood ?



  • @Lingerance said:

    @gsinau said:

     

    If it's C++ it would be "E" ... not "D".

    That would be the case if D, E and F weren't already programming languages. You also fail incrementing.

    Err ... yeah ... uh ... you sure showed me!



  • C half-a-pound second-half-of-a-pound?



    And now come on Java freaks here and enlighten us about what beans are. Please?



  • @gsinau said:

    If it's C++ it would be "E" ... not "D".

     

    ++ means to increment, so C incremented would be D.



  • @Master Chief said:

    ++ means to increment, so C incremented would be D.

    I thought ++C would increment, and C++ was something evil you shouldn't do is misused most of the time and could lead to horrible bugs if you're unaware of the differences to ++C?



  • @lolwtf said:

    What about "C double plus", is that wrong too? Is it perhaps "C plus equals one" or "C equals C plus one"?

    A certain professor I know calls it "C two pluses".



  • @SilentRunner said:

    Reminds me of those newcomers who insist upon calling C++ "C Plus Plus."

    Is this just a bad trolling attempt?  It is pronounced that way.



  • @tgape said:

    2 All I have is the vague idea that Java beans relate to reusable coding - possibly similar to what are called 'libraries' or 'modules' in any reasonable language.  However, I've been told that particular libraries and modules are not beans, so I'm guessing either I'm wrong about what beans are, or it's a more precise concept than I'm aware.

    Ah, you've been confused by The Java® Marketing Team™. The Java® Marketing Materials® refer to the JavaBeans something along the lines of "reusable software components" that can be manipulated in JavaBeans-aware visual tools. They were all the rage and a revolutionary way to develop code! ...In 1997, when Java 1.1 came out.

    I've yet to see these alleged tools in action.

    Which isn't to say the idea was good. Since then, the coders have understood "JavaBeans" as "classes that are serializable, support parameterless constructor, and whose properties conform to specific naming convention for getters and setters".


  • Discourse touched me in a no-no place

    @derula said:

    C half-a-pound second-half-of-a-pound?



    And now come on Java freaks here and enlighten us about what beans are. Please?

     

     

    From what I recall before I moved from Java to .net, a bean is an object which happens to conform to a certain convention as to method naming and serializability and such such that they can be easily exchanged with each other. Bizarrely, this is done without actually implementing an interface to actually ENFORCE these things... I'm unaware of any reason why the fuck this is anything different than basic good design (made bad by not using a fucking interface) but the Java elite have a boner for it.

     Wikipedia say:

    In order to function as a JavaBean class,
    an object class must obey certain conventions about method naming,
    construction, and behavior. These conventions make it possible to have
    tools that can use, reuse, replace, and connect JavaBeans.

    The required conventions are:

    • The class must have a public default constructor. This allows easy instantiation within editing and activation frameworks.
    • The class properties must be accessible using get, set, and other methods (so-called accessor methods and mutator methods), following a standard naming convention. This allows easy automated inspection and updating of bean state within frameworks, many of which include custom editors for various types of properties.
    • The class should be serializable. This allows applications and frameworks to reliably save, store, and restore the bean's state in a fashion that is independent of the VM and platform.

    Because these requirements are largely expressed as conventions rather than by implementing interfaces, some developers view JavaBeans as Plain Old Java Objects that follow specific naming conventions.

     



  • @derula said:

    @Master Chief said:
    ++ means to increment, so C incremented would be D.

    I thought ++C would increment, and C++ was something evil you shouldn't do is misused most of the time and could lead to horrible bugs if you're unaware of the differences to ++C?

     

    I'm sure you could design a class that breaks if you use post-increment (x++), but in real life the worst that happens is sub-optimal performance. (Even then the compiler is usually smart enough to generate identical code for primitive types, so it only really applies to class types.)



  • @gsinau said:

    @SilentRunner said:

    Reminds me of those newcomers who insist upon calling C++ "C Plus Plus."

    Alright, I'll bite.

     What should I call it then?

     

    You should call it 'D', but only after you have said it.



  • @mallard said:

    I'm sure you could design a class that breaks if you use post-increment (x++)
    Only if you provide an operator++(int), and g++ seems to try and use the operator++() method if present (giving a warning that it doing so), giving a compiler error if neither are present.



  • @derula said:

    I thought ++C would increment, and C++ was something evil you shouldn't do is misused most of the time and could lead to horrible bugs if you're unaware of the differences to ++C?

    C++ made a copy of the original C language when it incremented it. It has been said that ++C would be a much better language because it wouldn't have had to be backwards compatible with old C code.



  • I've yet to see these alleged tools in action.

    Netbeans UI builder. All the swing bits & bobs are beans. Sun also release a bean tool thingie. But it was rubbish.



  • Actually, who hasn't done:
    #ifdef __cplusplus
    extern "C" {
    #endif

    The language has its full name built right in.



  • With regards to EJBs....

     

    Session EJBs are used as modules. You can also call these up with RMI or deploy them witch each ear file.

     

    Enitity beans are used in transactions.

     

     

     

    Straight java beans, eg: a "POJO", are not part of EJBs.



  • @tgape said:

    2 All I have is the vague idea that Java beans relate to reusable coding - possibly similar to what are called 'libraries' or 'modules' in any reasonable language.  However, I've been told that particular libraries and modules are not beans, so I'm guessing either I'm wrong about what beans are, or it's a more precise concept than I'm aware.

    According to wikipedia (yeah, yeah...):

    • The class must have a public default constructor. This allows easy instantiation within editing and activation frameworks.
    • The class properties must be accessible using get, set, and other methods (so-called accessor methods and mutator methods), following a standard naming convention. This allows easy automated inspection and updating of bean state within frameworks, many of which include custom editors for various types of properties.
    • The class should be serializable. This allows applications and frameworks to reliably save, store, and restore the bean's state in a fashion that is independent of the VM and platform.

    So it's a class, but more to the point a class that follows specific conventions/patterns that are in no way enforced by the language.



  •  And that was the day that Random832 learned to read the entire thread before posting to it.



  • @Lingerance said:

    That would be the case if D, E and F weren't already programming languages. You also fail incrementing.

     

    For completion, G is a programming language, too.  It is the graphical programming language embedded in LabVIEW.



  • This is the first time I posted anything that has gotten more than a casual comment....although I suppose the "plus plus" debate doesn't count.



  • @Vechni said:

    ... deploy them witch each ear file.

     

    I'm guessing that was just a typo, but what was that supposed to say?

    I can't figure it out.



  • No typo I'm afraid. Java really does export EAR files... And JARs. It is my understanding that EAR files are more commonly in use on (web) servers, as opposed to JARs for desktop stuff.


    Then again, I could be wrong. I've only seen this in action once, when I wrote a consumer for a webservice on a SAP Netweaver webportal (Three hoorays for SAP!). My component was in .Net, but I worked closely with the people doing the Java part in SAP.



  • EAR - Enterprise Archive Resource

    JAR - Java Archive Resource

    WAR - Web Archive Resource



    Basically container recognize these types of archives and deploy them (which amounts to unzipping them into a dir). The jar is just a collection of mostly java classes usually, found in WAR's en EAR's



    JavaBeans are relay just POJO's that are in a specific format (All attributes have getters and setters, except booleans which have is'ers and setters)

    EJB's are Enterprise Java Beans, which usually can be invoked via RMI to do stuff, can be broken down into stateful and stateless, and divided into BMP's, CMP's. You also gets MDB (Message Driver beans)...it all sounds very enteprisy.



    /me waits to be shot down in flames to crash in burn ...



  • @boanergesza1 said:

    "Do you know EJB's?"

    blank stare

    "You know, Java Beans?"

    "OOOHHH, I know Netbeans"
    I think we'll all run into a situation like this one day or another. You have an interview and they ask if you know X, and you have no idea what it is. But there is a good way to react.



    Admit that you don't know it, and directly ask about it. Instead of waiting for questions try to take over the interview. I once had a job interview for a php spot (parttime job) and they asked if I knew "Smarty". I instantly admitted that I never heard of it and asked what it was. It's a template system for those that don't know it. And they made use of it in every project they had. By quickly guessing what a template system was and how it would help. I managed to ask a few more questions about it, learn a bit, and leave a good impression. In the end I was hired.



    You can never know everything, but showing that you are eager to learn new things can really help.



  • Hear Hear!
    Maybe one should ask these types of questions more often. Where the system is little known, just to gauge the candidates response.



  • @gsinau said:

    @AngelSL said:

    @SilentRunner said:

    Reminds me of those newcomers who insist upon calling C++ "C Plus Plus."

     

    What do you call it then? D? C increment? C-p-p?

    If it's C++ it would be "E" ... not "D".

    Hm. I'm a e-programmer.

    Pssht. That'll never catch on.

    Since when does int i = 1++; result in i == 3



  • @XIU said:

    Since when does int i = 1++; result in i == 3

    Umm... incrementing 1 is unlikely to get you anywhere in C, which doesn't have variable constants. {int i=1; i++;} will set i to 2, just before it goes out of scope too; {int i=1; ++i;} does the same thing except it's more efficient on certain braindead ancient compilers, and people seem to think it's important to do it that way in C nowadays; and if you're in C++ rather than C and using a class rather than using int, either of my code samples could do anything, and they need not necessarily have any correlation to each other. (But the second one's more likely to work if your developers didn't pay attention when writing the class in the first place.)

     Also, why does this thing not have a preview button?



  • @ais523 said:

     Also, why does this thing not have a preview button?

    There's a tab at the top.


  • Discourse touched me in a no-no place

    @ais523 said:

     Also, why does this thing not have a preview button?
    Because it's use would be redundant, since there's a preview tab, next to the 'options' and 'related' tabs?



  • @PJH said:

    @ais523 said:

     Also, why does this thing not have a preview button?
    Because it's use would be redundant, since there's a preview tab, next to the 'options' and 'related' tabs?


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.