Welcome!

Adobe Flex Authors: Matthew Lobas, PR.com Newswire, Shelly Palmer, Kevin Benedict

Related Topics: Java IoT, Adobe Flex

Java IoT: Blog Feed Post

Java, Soviet Union, and Job Interviews

Back in the seventies, I’d been taking entry exams to the Kiev Politechnic Institute (KPI)

Back in the seventies, I’d been taking entry exams to the Kiev Politechnic Institute (KPI).  I lived in the Ukraine, which was a part of the Soviet Union. At that time people of Jewish descent had a really hard time getting into most of the colleges and universities. Typically, there were four entry exams for the engineering majors: the verbal math, the written math, the verbal physics, and essay. There were no such things as multiple choice tests – we had to solve problems.

Being a Jewish boy myself, I was raised knowing that getting into college would be extremely difficult for me, and I had to be much better prepared than regular Ukrainian and Russian kids. I was strong in math (can’t say this about the physics though).

Anyway, during the first written test at KPI, there was a problem with the purposely wrong description. Each of the400 people who were taking this test had to solve it.  I caught the trick in that problem, and my written math grade was 4 out of 5.  Two hundred and twenty people got 2 out of 5, which meant that they wouldn’t even be accepted to the second exam.

At the verbal math exam, each applicant had to randomly pick a sheet (a.k.a. ticket) with different written problems. Everybody was sitting in a large auditorium preparing their answers followed by the face-to-face conversation with a professor. He or she was reviewing your solutions and could ask additional questions.

I glanced at my sheet – all the problems were easy for me. I quickly wrote the answers, than helped a girl sitting next to me (this was her fifth attempt to get admitted) and wrote all the answers for the guy in the military costume - guys who served in the army had a preferential treatment (you may be surprised, but helping other people during the tests was considered a noble thing to do in the USSR). Each of them had a face-to-face before me and each of them got a quick 4 without any additional questions. I said to myself, that if they got 4, I could expect getting 5 out of 6

Then was my turn.  All answers for the ticket problems were correct, and then the professor started to ask me additional questions. After answering 11 (!) questions correctly, he asked me the next one from trigonometry, “What’s the difference between the graphs of functions arcsine and arccosine”.  Piece of cake. I started answering “The function arcsine looks the same as arccosine… ” He didn’t let me finish or draw the graphs. “Stop. So you think that arsine and arccosine look the same? Your grade is 2.” This meant the end of my exams.

I was speechless for a moment…He didn’t let me finish the sentence! I started mumbling that I was awarded a second place in the math Olympiad of the central borough of Kiev. Then I pooled out the award certificate… He just said, “Apparently your math was better back then, but now you have a serious gap in trigonometry…”

Two months later I went to Novocherkassk, Russia, which was a town 600 miles away from home, got two easy fives on both math tests, 4 on essay and 3 on physics, and got admitted to the Applied Math major.

Several years ago, I was browsing books on Amazon and found a pretty interesting one - “You Failed Your Math Test, Comrade Einstein” .  The authors compiled many tough math problems that were prepared specifically for the Jewish students applying to the Soviet “Ivy League" universities.  I bought this book to show my respect to the authors for their work. People who live in Ukraine now, tell me that this practice is gone, and everyone has equal opportunities on entrance exams...I wish all the best to the people of the Ukraine.

What does all this have to do with Java and job interviews here in the US?  These days I often interview people who apply for jobs. A face-to-face interview is similar to that entrance verbal exam. The only difference is that in the US people are graded based on their skills rather than ethnicity.

But let’s imagine for a moment that you are conducting a technical interview on Java programming and need to have a special question to ensure that the person you don’t like won’t pass. I’m going to arm you with one.

After years of interviewing enterprise Java developers of different levels, I can attest that 90% of them don’t bother learning new features of the language and just get by using whatever they learned some time in their past. For example, nine out of ten people still believe that there are only two ways of creating a Java thread – subclass a Thread or implement Runnable. You also thought so? I know. The “new way” was introduced to Java only six years ago. You want to learn another way? Get my recent book “Java Programming. 24-hour Trainer.”

Here’s the killer question that 95% of the Java programmers won’t answer correctly.  “Give all examples of usage of the keyword final”.
The candidate sits quietly for 30 seconds just to show that he's thinking about the best way of answering this easy question, then he writes the following on a piece of paper:

•     If a method declared final, this method can’t be overridden.

static final double convertToCelsius(double far){
return ((far - 32) * 5 / 9);
}

•    If a class is declared final, you can’t be subclass (extend) it

final class Tax {…};

•    The value for the final variable can be assigned only once

static final int BOILING_TEMP = 212; // in Fahrenheit

Say politely, “Great, this is correct.  Are these all the uses of the keyword final that you can recollect?” As I said earlier, the chances that the candidate knows the fourth use are about 5%.  He goes, “Java has no any other use of the final keyword, I’m positive.” At this point you thank him for giving you great answers and say that an HR person will be in touch shortly.  This is one of the major differences between the US and USSR.  We don’t say give the final answers while the candidate is still here. The phrase “Your answer is wrong “ or “You have a serious gap in trigonometry” could lead to unpredictable reaction from the candidate. We  don’t want any conflicts. Let him leave in peace.
The mission is accomplished - he failed the job interview!

Recently released Java 7 has a new feature called final rethrow. In my opinion, it’s a pretty useless feature that you can live without. Besides, it makes the code more difficult to read.  Now, it’s legal to write something like this:

private void throwExceptions() throws A, B, C {
try {
throwAccordingToIndex(new Random().nextInt(2));
} catch (final Exception  e){
System.out.printf("Caught %s and rethrowing...%n", e);
throw e;
}
}
To make things even more confusing, writing the keyword final here is not mandatory.  But hey, the candidate didn’t know about this use, which means that his skills on Java are not current. And our team of sharp developers don’t need people with rusty skills. For the next several years this question will help you eliminate the candidates you don’t want to have beer with. No one will use this feature, and Java practitioners won't have a chance to see it in anyone’s code.

Do you like my strategy? Neither do I.  I’ll remember that episode with arcsine till I die, and will never apply such techniques.  So why did I write this blog? To be honest with you, I don’t know.  For some reason, when I learned about this feature, I couldn’t find any other use for it other than a secret weapon for the dirty interviewers.

Update. After re-reading this piece, I realized that it didn't cover an important use case: what if the job applicant knows about this fours use of the final? Ask what he thinks about this new feature. If he has any opinion about this feature, hire him.  He follows the latest developments in the Java language and cares to form an opinion.

More Stories By Yakov Fain

Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain

IoT & Smart Cities Stories
The challenges of aggregating data from consumer-oriented devices, such as wearable technologies and smart thermostats, are fairly well-understood. However, there are a new set of challenges for IoT devices that generate megabytes or gigabytes of data per second. Certainly, the infrastructure will have to change, as those volumes of data will likely overwhelm the available bandwidth for aggregating the data into a central repository. Ochandarena discusses a whole new way to think about your next...
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
DXWorldEXPO LLC announced today that Big Data Federation to Exhibit at the 22nd International CloudEXPO, colocated with DevOpsSUMMIT and DXWorldEXPO, November 12-13, 2018 in New York City. Big Data Federation, Inc. develops and applies artificial intelligence to predict financial and economic events that matter. The company uncovers patterns and precise drivers of performance and outcomes with the aid of machine-learning algorithms, big data, and fundamental analysis. Their products are deployed...
All in Mobile is a place where we continually maximize their impact by fostering understanding, empathy, insights, creativity and joy. They believe that a truly useful and desirable mobile app doesn't need the brightest idea or the most advanced technology. A great product begins with understanding people. It's easy to think that customers will love your app, but can you justify it? They make sure your final app is something that users truly want and need. The only way to do this is by ...
Digital Transformation and Disruption, Amazon Style - What You Can Learn. Chris Kocher is a co-founder of Grey Heron, a management and strategic marketing consulting firm. He has 25+ years in both strategic and hands-on operating experience helping executives and investors build revenues and shareholder value. He has consulted with over 130 companies on innovating with new business models, product strategies and monetization. Chris has held management positions at HP and Symantec in addition to ...
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more busine...
Cell networks have the advantage of long-range communications, reaching an estimated 90% of the world. But cell networks such as 2G, 3G and LTE consume lots of power and were designed for connecting people. They are not optimized for low- or battery-powered devices or for IoT applications with infrequently transmitted data. Cell IoT modules that support narrow-band IoT and 4G cell networks will enable cell connectivity, device management, and app enablement for low-power wide-area network IoT. B...
The hierarchical architecture that distributes "compute" within the network specially at the edge can enable new services by harnessing emerging technologies. But Edge-Compute comes at increased cost that needs to be managed and potentially augmented by creative architecture solutions as there will always a catching-up with the capacity demands. Processing power in smartphones has enhanced YoY and there is increasingly spare compute capacity that can be potentially pooled. Uber has successfully ...
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining which products and services are the best based on the opinion of the crowd. The crowd consists of Internet users that have experienced products and services first-hand and have an interest in letting other potential buye...
When talking IoT we often focus on the devices, the sensors, the hardware itself. The new smart appliances, the new smart or self-driving cars (which are amalgamations of many ‘things'). When we are looking at the world of IoT, we should take a step back, look at the big picture. What value are these devices providing. IoT is not about the devices, its about the data consumed and generated. The devices are tools, mechanisms, conduits. This paper discusses the considerations when dealing with the...