You need to define an array of LODs (Levels of Detail) to specify the zoom levels. Each LOD corresponds to a map at a given scale or resolution. Then, apply the array of LODs in the map constructor as an option. For example: function init() {
var lods = [
{"level" : 13, "resolution" : 19.1092570712683, "scale" : 72223.819286},
{"level" : 14, "resolution" : 9.55462853563415, "scale" : 36111.909643},
{"level" : 15, "resolution" : 4.77731426794937, "scale" : 18055.954822},
{"level" : 16, "resolution" : 2.38865713397468, "scale" : 9027.977411},
{"level" : 17, "resolution" : 1.19432856685505, "scale" : 4513.988705},
{"level" : 18, "resolution" : 0.597164283559817, "scale" : 2256.994353},
{"level" : 19, "resolution" : 0.298582141647617, "scale" : 1128.497176}
];
var initExtent = new esri.geometry.Extent({"xmin":-1.3074977201954123E7,"ymin":4015620.159117397,"xmax":-1.3073987658308368E7,"ymax":4016419.790346289,"spatialReference":{"wkid":102100}});
map = new esri.Map("map",{extent:initExtent, lods:lods});
var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");
map.addLayer(basemap);
var dynamicLyr = new esri.layers.ArcGISDynamicMapServiceLayer("http://sampleserver6.arcgisonline.com/arcgis/rest/services/PoolPermits/MapServer");
map.addLayer(dynamicLyr);
dojo.connect(map, 'onLoad', function(theMap) {
dojo.connect(dijit.byId('map'), 'resize', map,map.resize);
});
}
FYI: You can look into the REST endpoint of the World_Street_Map service and pick the LODs you need. If you decide to use another tiled map service, make sure you look into that service's REST endpoint and pick up the correct LODs.