Monday, November 30, 2015

问答 | 九章算法 - 帮助更多中国人找到好工作,硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧



问答 | 九章算法 - 帮助更多中国人找到好工作,硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧
zenefits有很多个部门,是层级结构,比如R&D这个部门下有 software department 部门,而 software department 部门下又有 backend 和 frontend 等等。其中每个部门里有主管,有员工。
设计数据库表结构来表示这个关系。
楼主设计了两个Table, 一个表示 department, 一个表示 stuff
其中 department table 中存了 这个部门的上级部门的id,以及子部门 id list, 这样比如下面表示的 R&D 部门没有上级部门,但是有下级部门:software department,然后 software department 的上级是 R&D, 子部门是 frontend、backend
Department Table
departmentID, department name, manager id, emloyees, parent id, childrent id
----
1, R&D, manager_id(123), employee_id_list(124,125), null, children_id_list(2, 3, 4 ...)
2, software department, , (), parent_id(1), children_id_list(3, 4, 5)
3, front end
4, back end
Staff Table
id, name, department id, ...
然后面试官问如果这个结构要查 RD 所有部门下的员工怎么办。
楼主这个结构只能先把 RD 下面的所有 department id 遍历出来,然后拿着这个 list 去 stuff table 中找了,貌似不太好啊...
不知道大家有什么想法。


Read full article from 问答 | 九章算法 - 帮助更多中国人找到好工作,硅谷顶尖IT企业工程师实时在线授课为你传授面试技巧

Labels

Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

Popular Posts