部分的问题是属于数学问题或者逻辑学问题。它们通常属于下面几个类型中的一个：组合数学、数论、图论、几何（很多时候是计算几何）、字符串和数据结构。和人工智能相关的内容在某些比赛中也很会出现。不论问题的类别，解决问题的过程都可以大致地分为两大步骤：构思一个算法，以及使用一个编程语言来实现算法（允许使用的语言每个竞赛都会不同，主要以C++，Java，Pascal等为主，但是IT企业的竞赛大多会使用该企业的常用语言）。大多数竞赛中，选手只应该为每一题编写一个源程序，这个源程序的系统调用会受到限制。一般创建新进