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.0
vs1/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
๐ธ