第一次参加了面试,面试官很好,我写的笔试和回答的都很差劲,虽然技术方面的回答我想抽自己,但是人家还是要了,给了我一个机会,很感谢.

   第一道题:设计一个进销存系统的表结构设计 1:老板每天要知道卖出的货物.2:要定期查看货物的成本、销售额和利润。

   错误:只考虑了基本构造,写出了每一个表的列名,并没有考虑真正的表结构设计,因为表结构设计失误可能会产生订单重复,数据混乱等情况,是很要命的。谢谢这次面试经历让我真正的思考表结构设计本身,一个错误的设计会导致难抓的BUG,更别提修复了。再次感谢面试官给我机会,我十分开心,这也会激励着我继续学习。

   在此,以昨天习得的经验,并翻阅了书籍,查阅了资料,感谢rose^Chen的《项目总结---表结构设计》的总结经验,现对面试题进行补充;

表名:[省略comment,即注释,引擎采用InnoDB]
   ID:商品ID,使用8字节无符号的Bigint(20),主键要保证唯一性、非空性、有序性、可读性、可扩展性。即:

    id bigint(20) unsigned[使用bigint时它能储存0~65535的数据范围,最大值在18446744073709551615] not null[非空性] primary key[主键 唯一性] auto_increment(自增 有序性)

   Goods:商品名, varchar(100) not null;[ 如需要副标题,则varchar(200),图片地址500,相对地址. 图片地址用 text json格式]

   Cost:成本 int unsigned(产品成本不可能为负数保证了最大值在4294967295不过精确角度讲建议采用decimal(20,2)保留两位小数,因为适用于货币计算)  not null;

      sell + gain和Cost相同.gain可以用自定义函数实现 利润=销售额-每件商品成本;

  1:老板每天要知道卖出的货物.2:要定期查看货物的成本、销售额和利润。

    新建计划执行计划的定义.

  

X和面试随笔的更多相关文章

  1. PHP面试随笔

    1.常见的HTTP状态码: 1xx系列:代表请求已被接受,需要继续处理 2xx系列:代表请求已成功被服务器接收.理解并接受 200:表示请求已成功,请求所希望的响应头或数据体将随此响应返回 201:表 ...

  2. java 面试随笔

    ---恢复内容开始--- 1.自我介绍 2.你在项目开发过程中遇到的那些问题! 3.懂bootstrap么?简单介绍一下 4.spring的会话数据是怎样的. 5.为什么会有session 因为htt ...

  3. 杂谈---小故事小道理,面试中的小技巧(NO.2)

    本篇是接着上一篇面试随笔的,上一次有猿友反应写的有些“扯淡”,LZ思来想去最大的原因可能是由于上一章写的全是一些大忌,既然是大忌,那么在现实当中发生的概率还是相对较小的,大部分人还是很少在面试中犯如此 ...

  4. 随笔java面试基础

    转:http://blog.csdn.net/wenwen360360/article/details/54969418 Application ―Java应用程序”是可以独立运行的Java程序.由J ...

  5. 面试题---->线程的入门,读完可以应付一般的面试(管理员不要移除我的随笔啊)

    这个都是入门和一般的常规知识,大佬轻喷 ①.继承Thread类 ②.实现Runnable接口(常用,优点多) ③.实现Callable接口 实现Runnable和Callable接口的类只能当作一个可 ...

  6. 前端开发面试知识点大纲--摘自jackyWHJ

    前端开发面试知识点大纲:HTML&CSS:    对Web标准的理解.浏览器内核差异.兼容性.hack.CSS基本功:布局.盒子模型.选择器优先级及使用.HTML5.CSS3.移动端适应 Ja ...

  7. 你很牛B,面试却没过,为什么?

    点击标题下「飞测」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期 ...

  8. Java面试系列之HashMap大扫盲汇总

    PS:整理的稍微有点急,不足之处,望各路道友指正,List相关可以查看前一篇随笔! HashMap的工作原理是近年来常见的Java面试题,几乎每个Java程序员都知道HashMap,都知道哪里要用Ha ...

  9. Redis的那些最常见面试问题

    随笔:经过长达一周的奔波和面试,电话面试,回首今天终于成功的入职了,总共面试了大概10家公司,包括阿里,京东,IBM等等,京东技术过了,学历因为非统招就被pass了,阿里面了2次电话面试就没下文了,估 ...

随机推荐

  1. ShutdownHook作用

    源地址:http://kim-miao.iteye.com/blog/1662550 void java.lang.Runtime.addShutdownHook(Thread hook) 该方法用来 ...

  2. 安装openstack出现的问题及解决

    感谢http://www.cnblogs.com/nmap/p/6417163.html,参考这篇文章,我在虚拟机上部署成功了,后来因为虚拟机实在带不动,所以改装到物理机上,在实验室找到两台物理机,分 ...

  3. React 从入门到进阶之路(七)

    之前的文章我们介绍了 React 表单详解 约束性和非约束性组件 input text checkbox radio  select  textarea  以及获取表单的内容.接下来我们将介绍 Rea ...

  4. 如何将基于对话框的MFC工程改成基于BCG的

    1.stdafx.h 加入如下内容.BCGCBProInc.h间接导入了lib. 2.应用程序类的父类由CWinApp改成CBCGPWinApp.构造函数增加如下代码: 3.对话框的父类有CDialo ...

  5. cogs 1176. [郑州101中学] 月考

    1176. [郑州101中学] 月考 ★   输入文件:mtest.in   输出文件:mtest.out   简单对比时间限制:1 s   内存限制:128 MB [题目描述] 在上次的月考中Bug ...

  6. seq(2018.10.24)

    一道\(dp\)题... 期望\(40\)分解法 预处理:离散化,然后让连续一段值相同的元素合并为一个元素. 正式\(DP\): 显然有个最差策略为每个元素处都切一次,则切的次数为元素的个数\(-1\ ...

  7. C - Aladdin and the Flying Carpet

    #include<bitset> #include<map> #include<vector> #include<cstdio> #include< ...

  8. Centos 7.x 安装 MongoDB

    官方安装资料:点击直达 本次以Centos为安装主机 1:首先先导入MongoDB的yum源,因为Centos默认是没有MongoDB的yum源,创建文件:/etc/yum.repos.d/mongo ...

  9. python多线程的实现

    入门案例 import threading,time ''' #线程的创建有两种方式,.直接调用,.继承 ''' # def run(n): # print('test',n) # #.直接调用 # ...

  10. 最短路之SPFA(单源)HDU 2066

    #include "iostream" #include "cstdio" #include "queue" #include <cs ...