说说抽奖程序的那些事 - 简书



说说抽奖程序的那些事 - 简书

透明度问题

        一个抽奖程序,我们看到的只是程序运行后的结果。但是这个结果怎么产生的我们不知道,说不准还是把结果写死的呢。要解决透明度问题,只能把代码开放让大家审查咯。(说实在的,谁想自己的东西要别人审查啊,这真是别有一番滋味在心头)

正确性问题

      谁又能保证程序没有问题呢,不多不少总有错误。虽然一个抽奖程序看起来如此简单,然而背后是那么的复杂。例如,我如何随机抽取一位用户呢,如果抽取多位用户如何确保不重复。如何确保抽奖的时候程序在正确运行,如果保证抽取的用户存在呢。

公平性问题

       程序猿可是一种十分较真的动物,他们会说你的随机数如何确保随机(好吧,你成功了,貌似有一个在线生成随机数的接口,具体我不太清楚),也会说,你是一次性取出所有中奖的人还是一个一个的来。你是抽取后再放回去还是不放回去。。。,反正一堆情况,如何保证公平是一个难度活。


Read full article from 说说抽奖程序的那些事 - 简书


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts