Be prepared to explain and effectively use following language and ActiveSupport features
Max score: 152
Minimum requirements:
- Independent: 100 (+ all blue diamonds)
- Mid: 120 (+ all orange diamonds)
- Senior: 135 (+ all red triangles)
You will not get a pass if you check more than 5 items that you will not be able to prove being knowledgeable about during verification, so check items only if you are sure about them. Be advised, that questions will be rather general ("what does that return?", "what does it do?", "how does that differ from x?").
Array/Enumerable-
<<,push,pop๐น -
|,&,+ -
at,[],values_at -
any?,all?,one?,none? -
map,map!,collect,collect!๐น -
count,size,length๐น -
cycle -
delete,delete_at,delete_if -
drop,drop_while -
each,each_index,each_with_index๐น -
each_cons -
each_with_object,inject,reduce๐ธ -
empty? -
index,find_index,rindex -
first,second,last -
find,detect๐น -
keep_if,select,select!,find_all๐น -
flatten,flatten! -
flat_map -
group_by -
include? -
insert -
join -
keep_if,select,select! -
min,max๐น -
min_by,max_by,minmax,minmax_by -
partition๐ธ -
reject,reject!๐น -
reverse,reverse!,reverse_each -
rotate,rotate!๐ธ -
shift,unshift -
shuffle,shuffle! -
sort,sort!,sort_by -
take_while -
transpose๐ธ -
uniq,uniq!๐น -
zip
-
Numeric,Float-
%,modulo -
abs -
ceil,floor -
div -
nonzero? -
round๐น -
zero?๐น -
positive?,negative? -
1/0.0vs1/0๐ธ
-
Object-
clone,dup -
enum_for -
extend -
is_a?,instance_of?,kind_of? -
instance_variable_get,instance_variable_set,instance_variable_defined? -
method -
nil? -
send,public_send๐ธ -
respond_to? -
tap๐น -
method_missing๐บ -
instance_eval,instance_exec๐บ
-
String-
<< -
=~ -
% -
+,* -
[]= -
[],slice -
capitalize,capitalize! -
chars -
chop,chomp -
count,size -
delete -
downcase,downcase!,upcase,upcase! -
each_char,each_line -
empty? -
gsub,gsub!,sub,sub!๐น -
include? -
index -
ljust,rjust -
match -
next,next!,succ,succ! -
replace -
reverse,reverse! -
partition -
scan -
split -
strip,strip! -
squeeze,squeeze! -
start_with?,end_with?
-
- Operators
-
==vs=== -
<=> -
<,>,>=,<=
-
- File
-
basename -
delete -
dirname -
directory? -
exist? -
new -
open
-
Class,Module-
< -
new,initialize๐น -
inherited -
superclass -
alias_method -
ancestors -
attr_reader,attr_writer,attr_accessor,attr๐น -
class_eval,module_eval -
class_exec, ,module_exec -
const_get,const_set,const_defined? -
define_method๐บ -
extended,included, -
module_function๐บ -
private,private_class_method -
private_constant๐ธ -
name
-
Range-
..vs...๐ธ -
min,max -
cover? -
each
-
Regexp- named captures ๐ธ
-
=~ -
match,match?
Hash-
[],[]= -
dig๐น -
each,each_pair,each_key,each_value๐น -
fetch -
has_key?,key?,has_value? -
invert -
key -
keys,values -
merge,merge!,reverse_merge,reverse_merge!๐น -
transform_keys,transform_keys!,transform_values,transform_values!๐ธ
-
Time-
now,utc๐น -
day,month,year,hour,minute,sec -
wday -
monday?..sunday? -
zone -
strftime -
iso8601๐น -
to_s(:db)
-
- Difference between strings and symbols ๐ธ
- Difference between local, instance and global variables ๐น
- Difference between class (static) and instance methods ๐น
- Procs and lambdas ๐ธ
- Exceptions handling ๐ธ
- Monkey-patching ๐บ
- Mixins ๐บ
-
ENV -
Enumerator๐บ-
Enumerator::Lazy
-
-
NotImplementedError๐บ -
OpenStruct -
&. - Shorthand blocks syntax (
&:) -
SecureRandom
- Core extensions
Array-
deep_dup -
extract_options!๐ธ -
in_groups,in_groups_of -
to_param -
to_query -
to_sentence -
without -
wrap
-
Class-
class_attribute๐บ -
descendants -
subclasses
-
Date,DateAndTime-
beginning_of_day,end_of_day -
current,tomorrow,yesterday๐น -
days_ago,months_ago,years_ago -
future?,past?,today? -
on_weekday?,on_weekend? -
in_time_zone
-
Enumerable-
exclude -
index_by -
many? -
pluck๐ธ -
sum -
without
-
Hash-
assert_valid_keys -
compact,compact! -
deep_dup -
deep_merge,deep_merge!๐ธ -
deep_stringify_keys,deep_stringify_keys!,deep_symbolize_keys,deep_symbolize_keys!๐ธ -
deep_transform_keys,deep_transform_keys!๐ธ -
except,except!,extract! -
slice,slice! -
with_defaults,with_defaults!
-
Kernel-
silence_warnings
-
Module-
alias_attribute -
delegate๐น -
delegate_missing_to -
deprecate
-
Object-
presence,present?๐น -
presence_in -
with_options
-
Range-
overlaps?
-
String-
blank?๐น -
html_safe -
squish,squish! -
truncate -
truncate_words
-
- Difference between
try,try!and&.๐บ -
ArrayInquirer๐บ -
Benchmarkable -
Cache๐บ- Available store types
-
NullStore
-
Callbacks๐บ -
Concern๐น -
Configurable -
CurrentAttributes๐บ -
Duration -
HashWithIndifferentAccess๐ธ Inflector-
camelize๐น -
classify -
constantize,safe_constantize๐ธ -
dasherize -
deconstantize๐ธ -
demodulize๐ธ -
foreign_key -
humanize -
ordinalize -
parameterize -
pluralize,singularize -
tableize -
titleize -
transliterate -
underscore๐น -
upcase_first
-
-
MessageEncryptor -
MessageVerifier -
Notifications,Subscriber NumberHelper-
number_to_currency -
number_to_delimited -
number_to_human -
number_to_human_size -
number_to_percentage -
number_to_phone -
number_to_rounded
-
-
OrderedOptions -
RangeWithFormat -
Rescuable๐ธ -
StringInquirer๐ธ