{"id":332,"date":"2008-06-04T07:27:40","date_gmt":"2008-06-04T12:27:40","guid":{"rendered":"http:\/\/www.wiredprairie.us\/blog\/index.php\/archives\/332"},"modified":"2008-06-04T07:27:40","modified_gmt":"2008-06-04T12:27:40","slug":"technical-interview-question-8","status":"publish","type":"post","link":"https:\/\/www.wiredprairie.us\/blog\/index.php\/archives\/332","title":{"rendered":"Technical Interview Question #8"},"content":{"rendered":"

Technical Interview Series<\/a><\/p>\n

Create a structure which is used to hold the coordinates of a rectangle within an two dimensional coordinate system. <\/p>\n

Now, add the code necessary to support the following:<\/p>\n

    \n
  1. An arbitrary number of rectangles (think “windows”)<\/li>\n
  2. Rectangles that are layered and overlap (and of course various sizes)<\/li>\n
  3. Determine the window\/rectangle in which a point is contained (factor in layering)<\/li>\n<\/ol>\n

    Are there any optimizations?<\/p>\n

    How would you handle non-rectangular windows efficiently?<\/p>\n","protected":false},"excerpt":{"rendered":"

    Technical Interview Series Create a structure which is used to hold the coordinates of a rectangle within an two dimensional coordinate system. Now, add the code necessary to support the following: An arbitrary number of rectangles (think “windows”) Rectangles that are layered and overlap (and of course various sizes) Determine the window\/rectangle in which a […]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true},"categories":[10],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pd5QIe-5m","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":447,"url":"https:\/\/www.wiredprairie.us\/blog\/index.php\/archives\/447","url_meta":{"origin":332,"position":0},"title":"Coding Challenge #16","date":"July 30, 2008","format":false,"excerpt":"Coding Challenge Series \/ Technical Interview Series You're given the size of a rectangle, with a width and a height. The X = 0 and Y = 0 point is located in the upper left with the width and height in the lower right. The function you must write takes\u2026","rel":"","context":"In "Coding"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":216,"url":"https:\/\/www.wiredprairie.us\/blog\/index.php\/archives\/216","url_meta":{"origin":332,"position":1},"title":"Technical Interview Question #6","date":"May 21, 2008","format":false,"excerpt":"Interview Series Write code which determines if 2 arrays of Points (x, y), in a two-dimensional coordinate system, could likely represent a \"pinching\" motion made famous by the iPhone. Consider the Points to represent a series of touch-coordinates by a user. Bonus: Make it so that the code works for\u2026","rel":"","context":"In "Coding"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":532,"url":"https:\/\/www.wiredprairie.us\/blog\/index.php\/archives\/532","url_meta":{"origin":332,"position":2},"title":"Coding Challenge #22","date":"September 10, 2008","format":false,"excerpt":"Coding Challenge Series \/ Technical Interview Series Now that you've become an expert in efficiently copying bytes (you did solve the last challenge, didn't you?), I have an even more challenging question.... You have a large block of byte oriented data representing a 256-color LCD panel. Each byte represents the\u2026","rel":"","context":"In "Coding"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":429,"url":"https:\/\/www.wiredprairie.us\/blog\/index.php\/archives\/429","url_meta":{"origin":332,"position":3},"title":"Coding Challenge #15","date":"July 23, 2008","format":false,"excerpt":"Coding Challenge Series \/ Technical Interview Series Create a structure which represents a binary tree. Iterate through all of the elements of the tree in any order, without using recursion. Update: Your function is only provided the root of the constructed tree. A tree node should contain no more than\u2026","rel":"","context":"In "Interview"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":128,"url":"https:\/\/www.wiredprairie.us\/blog\/index.php\/archives\/128","url_meta":{"origin":332,"position":4},"title":"Technical Interview Question Series Starting","date":"April 16, 2008","format":false,"excerpt":"I'm going to begin posting weekly a technical interview question. Generally, each question should be solvable in less than 30 minutes time. Often, much less. Some amount of coding is typically necessary to solve the problem (either actual code or pseudo-code), but occasionally, just a plan or discussion-style response is\u2026","rel":"","context":"In "Coding"","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1092,"url":"https:\/\/www.wiredprairie.us\/blog\/index.php\/archives\/1092","url_meta":{"origin":332,"position":5},"title":"I’m feeling very unlucky today","date":"June 10, 2010","format":false,"excerpt":"Oh, please Google, stop, for the love of search, make it stop! I can\u2019t see an option to remove the background image and switch back to the default. I tried replacing it with a tiny transparent image, but I was denied \u2026, as it requires an image at least 800x600.\u2026","rel":"","context":"In "General"","img":{"alt_text":"image","src":"https:\/\/i0.wp.com\/www.wiredprairie.us\/blog\/wp-content\/uploads\/2010\/06\/image4.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.wiredprairie.us\/blog\/index.php\/wpjson\/wp\/v2\/posts\/332"}],"collection":[{"href":"https:\/\/www.wiredprairie.us\/blog\/index.php\/wpjson\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wiredprairie.us\/blog\/index.php\/wpjson\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wiredprairie.us\/blog\/index.php\/wpjson\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wiredprairie.us\/blog\/index.php\/wpjson\/wp\/v2\/comments?post=332"}],"version-history":[{"count":0,"href":"https:\/\/www.wiredprairie.us\/blog\/index.php\/wpjson\/wp\/v2\/posts\/332\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.wiredprairie.us\/blog\/index.php\/wpjson\/wp\/v2\/media?parent=332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wiredprairie.us\/blog\/index.php\/wpjson\/wp\/v2\/categories?post=332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wiredprairie.us\/blog\/index.php\/wpjson\/wp\/v2\/tags?post=332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}