Guidewire

  www.guidewire.com
Work in HR? Unlock Free Profile

Guidewire Senior Software Engineer Interview Questions & Reviews

All Interviews Received Offers

Getting an Interview  

22%
5%
5%

Interview Experience  

37%
25%
37%

Interview Difficulty  

Average Difficulty
9 candidate interviews Back to all interview questions
Relevance Date Difficulty
in

Accepted Offer

Positive Experience

Easy Interview

Senior Software Engineer Interview

Senior Software Engineer
San Mateo, CA

The process took 2 days - interviewed at Guidewire in November 2009.

Interview Details – After a short phone screen, I had a four hours of interviewing. The interviewers wanted to see if we could work well together. Other companies wanted me to prove that I was good enough to work there. The difference: Guidewire respects their candidates. Interviews focused on writing clean, maintainable code, communication and problem decomposition. Other companies tested me on trivia or implementing algorithms that I doubt someone in the position in question would need to implement. In addition to being smart, Guidewire wants to know the quality of the code you produce and what it would be like to work with you to solve problems. This told me that I'd like working with other at Guidewire, and I was right.

Interview Questions


No Offer

Positive Experience

Average Interview

Senior Software Engineer Interview

Senior Software Engineer
Foster City, CA

I applied through a recruiter and the process took a day - interviewed at Guidewire in February 2011.

Interview Details – I was called for an Interview for a Senior Software Engineer Applications position.
The interview lasted 4 hours.

First hour I was asked to calculate price of a cofee. You can chose the cofee and add additional items like milk creamer etc.

Second Hour same problem but now cost of extra items depends on the size of the cup.

Third hour i was asked to fix issues in an artificially badly written Set class.

Fourth hour was a general discussion with the Project manager.

All interviewers were very good. Treated me with respect. All of them seem to be good technically.

i received a call from HR next day that i was rejected. Which i appreciate, since many companies dont call if you are rejected.

They also gave me the reason of my rejection saying i had over engineered the cofee vendor and i took around 1 hour and 50 mins to solve the first problem. They expected me to solve it sooner.

On the Set Class i knew i couldnt identify problems immidietely so i knew i wont get through.

Overall very good experience no regrets even though i got rejected. This is a good company to work for !

Interview Question – I was asked to identify problem in artificiallly incorrect class   View Answers (2)


No Offer

Neutral Experience

Average Interview

Senior Software Engineer Interview

Senior Software Engineer
San Mateo, CA

I applied through a recruiter and the process took 2 days - interviewed at Guidewire in December 2010.

Interview Details – First I've got a written test at home to implement function that validates user input for their Wordy game. I did it over weekend and submitted to them. Then I was invited for on-site interview. On-site interview took 4 hours. First hour I was asked to write function that calculates price of the coffee in the coffee machine depending on size (small, large ...) and selection of condiments (sugar, milk, ...). You have to program it with interviewer sitting behind your back. Second hour - the same problem just conditions become slightly more complex - now price of condiments depends on the coffee cup size. Third hour I was asked to fix some issues in their artificially incorrect implementation of Set class. All this time you practically don't communicate with interviewers they just sit behind your back and watch at what you are doing. Last hour I've talked with project manager. It was free flowing discussion about my experience.

At the end I didn't get an offer even so I don't exactly understand the reason. I was told that team was satisfied with my technical skills but didn't feel that I was exited (eager) enough to work for their company. Which sounds really weird to me.

Interview Question – Write the function that calculates price of the cup of coffee where price of the condiments depends on size of the coffee cup. For example milk cost 10 c for small cup 15 c for medium and 20 c for large   View Answers (3)


We want your feedback – Is this interview information helpful to you?  Yes | No
1 person found this helpful

No Offer

Negative Experience

Difficult Interview

Senior Software Engineer Interview

Senior Software Engineer
San Mateo, CA

I applied through a recruiter and the process took 2 weeks - interviewed at Guidewire in August 2010.

Interview Details – Here’s my review of one of the four interviewers at Guidewire. His primary issue was that he had only one solution in mind, which was syntactically and semantically broken, and yet dogmatically tried to push me towards it the entire time. It went flawlessly with the other three interviewers that day, both in terms of their interviewing style and my performance, which makes this all the more painful a loss.

The scenario is that a customer orders a coffee from a vending machine by selecting a choice from several categories, such as size, flavor, and creamer type. Given their choices, we then have to figure out the cost. The twist is that the various creamer choices cost slightly more if you get an extra-large coffee. For example, if you choose milk as your creamer, it’s normally 50 cents; but, if you also choose XL as your size, the milk costs 60 cents.

The interviewer’s solution (in Java) was to have an enum for each category: Size, Creamer, Flavor, etc. Each choice in a category is one of the instances of the enum: “enum Creamer{ NONE, MILK, HALF_N_HALF }”. Rather than have each enum instance store its normal cost as an int, we cleverly set the int value of the instances to the cost of the choice: “enum Creamer{ NONE = 0, MILK = 50, HALF_N_HALF = 45 }”. To deal with the fact that creamer cost depends on the size you choose, we add the method getPriceGivenSize(Size). If later on there are new dependencies between categories (I asked him this “what if”.), we just add methods, such as getPriceGivenFlavor(Flavor), getPriceGivenSizeAndFlavor(Size, Flavor), etc. The contents of these methods are simply switch statements which return a value based on the Size/Flavor passed in.

So here’s my critique of his solution. First off, it’s entirely hard-coded; to add a new choice/category, change a cost, or add/change a dependency between categories, you have to directly edit the Java code that runs the vending machine, recompile and reinstall it. How do we know when to use the “int value” of the enum to get the cost of a choice, versus calling getPriceGivenSize(), or even getPriceGivenSizeAndFlavor()? In other words, there’s no real way for the client to describe the business logic (costs and dependencies), and no way to use that business logic when figuring the cost to charge the customer. The idea of setting the enum instances to their cost is unsound because it breaks as soon as we have two choices that cost the same amount. Also, the interviewer was thinking of a syntax, “MILK = 50”, which is only available in C/C++, not Java. Conversely, enum methods aren’t available to enums in C/C++.

His confusion about enums is ironic. After giving me several hints to try to push me towards his expected solution, he suspected I simply didn’t know enough about enums to think of his “MILK = 50” solution. So he had me look up information about Java enums on the internet during the interview. I mildly protested that I already knew plenty about Java enums and their use, which isn’t much really, but he still had me go through the motions.

Despite the constant misdirection, I came up with a perfectly good solution and presented it to him. He admitted that he didn’t understand my solution and spent the next 10 minutes at the board describing his solution, as I fully detail above. We’re running out of time at this point. I patiently waited for him to finish his presentation and then reflected back my understanding of his solution to him so he knew that I got it. I then asked to try presenting my solution to him again on the board. After he started to get it, I had to deflect a couple straw-man arguments against it, and then finally, he seemed to “understand” the solution. He walked out of the room to get the next guy without saying bye or shaking my hand. He seemed upset.

Interview Question – Support dependent costs between categories. Please reference the question mentioned above.   View Answer


No Offer

Positive Experience

Average Interview

Senior Software Engineer Interview

Senior Software Engineer
San Mateo, CA

I applied through a recruiter and the process took a day - interviewed at Guidewire in July 2009.

Interview Details – Was contacted by recruiter via email and phone and called in to a technical interview right away. Met the recruiter in the offices and was taken to a conference room. The interviewers were friendly, talked for 15 minutes about the company and their product, then did a whiteboard programming exercise.

Interview Question – Implement a sparse matrix Java class with a constructor, set and get method. The matrix has millions of rows and columns and is at a maximum 15% populated.   View Answer


3 people found this helpful

No Offer

Neutral Experience

Average Interview

Senior Software Engineer Interview

Senior Software Engineer
San Mateo, CA

I applied through a staffing agency and the process took a day - interviewed at Guidewire in March 2009.

Interview Details – After asking my previous working experiences, the interviewer just asked one single coding problem. No any other skills has been asked. I.e., completely depends on the coding!

Coding Problem: Coding hasNext() and next() methods for a class that contains a Collection of Collections. (main collection must not be null or empty, sub collections must not be null.)

Answer: I got several hints from the interviewer. I think I didn't get the offer because I didn't finish the coding by myself! Even we discussed nicely.

  public class CollectionOfCollections {
      private Iterator mainIter;
      private Iterator subIter;

      CollectionOfCollections(Collection col) {
          mainIter = col.iterator();
          sunIter = mainIter.next().iterator();
      }

      public boolean hasNext() {
          if (subIter.hasNext()) {
              return true;
          }

          while (mainIter.hasNext()) {
              subIter = mainIter.next().iterator();
              if (subIter.hasNext()) {
                  return true;
              }
          }
      }

      public Object next() throws NoSuchElementException {
          if (hasNext()) {
              return subIter.next();
          }

          throws new NoSuchElementException();
      }
  }

Interview Question – Coding hasNext() and next() methods for a class that contains a Collection of Collections. (main collection must not be null or empty, sub collections must not be null.)   Answer Question


No Offer

Neutral Experience

Senior Software Engineer Interview

Senior Software Engineer

I interviewed at Guidewire in September 2012.

Interview Details – Applied through linkedin and they were quick to respond. There wasn't any phone screen. They sent a coding exercise with about a week's time to complete.

They were quick to respond back in about a week with their feedback. However did not provide much details about their decision.

Interview Question – Algorithm for a word game   Answer Question


2 people found this helpful

Declined Offer

Negative Experience

Easy Interview

Senior Software Engineer Interview

Senior Software Engineer

The process took 2 weeks - interviewed at Guidewire in January 2010.

Interview Details – These guys act as if they invented the Java and the Wordy puzzle, which they copied from University assignment.

They give you this Wordy game puzzle to solve which they seem to think no one knows the solution!! It is a well known Boggle game assignment. Just google it and you will know.

Don't even try this company unless you have been desperate for years looking for a job.


No Offer

Negative Experience

Average Interview

Senior Software Engineer Interview

Senior Software Engineer

I applied through other source and the process took a day - interviewed at Guidewire in September 2009.

Interview Details – I talked to the recruiter on the phone and he scheduled an interview for the very next day. When I got there he talked with me briefly and reiterated what he had told me on the phone, that they are looking for only very senior software engineers. He then turned me over to an engineer for the rest of the interview.

After a brief discussion about the company's products the interviewer presented a Java programming problem for me to solve on the whiteboard. The problem was this: given a class that is a Collection of Collections (let's call it CofC), code an Iterator for the CofC class. Implement the next() and hasNext() methods and the constructor. The only method in Collection that you can use is iterator(). That is to say, you cannot use size() or any other method.

During the exercise the interviewer interacted with me, made some suggestions. pointed out some errors.

I wouldn't call this a trivial problem but it is not that difficult and probably is a fair test for the amount of time alloted. I made some mistakes early on and didn't focus well enough so I didn't do that well. I strongly suggest doing this exercise at home and timing yourself and paying attention to your process. My impression was that process, and not just the correct answer, was important.

They emailed me later the same day to say they would not proceed to the next step with me. It was nice that I got that information right away, compared to most companies who either never contact you at all or contact you weeks later to say they are still interviewing other people.

Interview Question – Code an iterator for a Collection of Collections in Java.   View Answer

Worked for Guidewire? Contribute to the Community!

The difficulty rating is the average interview difficulty rating across all interview candidates.

The interview experience is the percentage of all interview candidates that said their interview experience was positive, neutral, or negative.

Your response will be removed from the review – this cannot be undone.