1 / 28

Code Interview Yingcai Xiao Hari Krishna Bodicharla

Code Interview Yingcai Xiao Hari Krishna Bodicharla. Code Interview. What is it? Books The process The questions How to prepare?. What is it?. Code Interview: job interview involves designing and writing programs. (the contents relate to coding.). Digital Interview.

chesna
Télécharger la présentation

Code Interview Yingcai Xiao Hari Krishna Bodicharla

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Code InterviewYingcai XiaoHari Krishna Bodicharla

  2. Code Interview • What is it? • Books • The process • The questions • How to prepare?

  3. What is it? • Code Interview: job interview involves designing and writing programs. (the contents relate to coding.)

  4. Digital Interview • Digital Interview: online interview, video interview. The format relates to digital media. Can be real-time or pre-recorded.

  5. Digital Interview • "The Essential Digital Interview Handbook" by Paul J. Bailo • online interview, • good reference even for face-to-face interview.

  6. Books on Code Interview (in Safari) • "Ace the Programming Interview: 160 Questions and Answers for Success“ • by Edward Guiness • "Programming Interviews Exposed: Secrets to Landing Your Next Job" • by John Mongan; Eric Giguere; Noah Kindler • "Coding Interviews: Questions, Analysis & Solutions" • by Harry He

  7. Books on Code Interview (not in Safari) • "Cracking the Coding Interview: 150 Programming Interview Questions and Answers" • by Gayle Laakmann McDowell • "Cracking the C, C++, and Java Interview" • by S G Ganesh

  8. The Process • Usually after HR screening interview • Or after a phone interview • Can be online (digital) • Or face-to-face • Usually one-on-one with your interviewer. • You may have something to write on.

  9. The Process • You will be asked to write some code. • May need to talk through the question first • May be in an actual programming language • May be as pseudo-code.

  10. The Questions Compare two integers without using any comparison operators?

  11. The Questions Swap two integers without using a temp?

  12. The Questions Which one is faster? int I, J = 8; I = 0.5 * J; I = J / 2; I = J >> 1;

  13. Data Structures Array Linked List Array List Hash Table Queue Stack Tree Graph

  14. Data Structures Why different data structures? Use minimum space (Array). Fast to retrieve (Array). Easy to search (Array, Indexing / Hashing, Tree). Easy to modify (Linked List). Persistent. (IDs not Pointers/References) Sharable over the Internet. (XML) Reduce coding errors. (Padded Array)

  15. Data Structures Persistent. (IDs not Pointers/References) There is no use to save pointers/references or transmit them over the Internet. Serialization (memory automatically allocated during loading) Use indexes to link data instead of pointers/references (indexed faceset)

  16. Index Linked Data Structure

  17. Data Structure for Graphics and Visualization

  18. Serialization of objects

  19. Serialization • Converting an object into a form that can be persisted or transported. • Save objects to permanent storages. • Sent over the network. • Pass on to another object.

  20. Deserialization • Converts a stream into an object. Together, these processes allow data to be easily stored and transferred.

  21. Requirements for Serialization To allow an object to be serializable: • In a serializable class, you must ensure that every instance variable of the class is also serializable. • The class must be visible at the point of serialization. • All primitive types are serializable.

  22. Sample Code for Serialization // serializable class class SerializeEmployee { public: char character; unsigned int id; // serializing method void Serialize(::std::ostream &os); //static deserializing method static SerializeEmployeeDeserialize(::std::istream &is); }; void SerializeEmployee::Serialize(std::ostream &os) { if (os.good()) { os.write((char*)&character, sizeof(character)); os.write((char*)&id, sizeof(id)); } }

  23. Sample Code for Deserialization SerializeEmployeeSerializeEmployee::Deserialize(std::istream &is) { SerializeEmployeeretval; if (is.good()) { is.read((char*)&retval.character, sizeof(retval.character)); is.read((char*)&retval.id, sizeof(retval.id)); } if (is.fail()) { throw ::std::runtime_error("failed to read full struct"); } return retval; }

  24. Serialization References • http://en.wikipedia.org/wiki/Serialization • http://www.slideshare.net/imypraz/java-serialization-8916554?v=qf1&b=&from_search=8 • http://www.stackoverflow.com/questions/5707835/having-trouble-serializing-binary-data-using-ifstream-and-ofstream

  25. Data Structures Sharable over the Internet. (XML) Text based User defined tags No header Inefficient

  26. Data Structures Reduce coding errors. (Padded Array) Bounds checker Use padding cells at the beginning or end of an array. Error if the padding cells were written to.

  27. Data Structures Space Partitioning Quad Tree (for rectangular shapes) Triangulation (for irregular shapes)

  28. Sorting Bubble Merge Quick Heap Insertion

More Related