Erwägungen:
1.
1.1. Auf eine Einsprache von A._ gegen sie betreffende Ermessensveranlagungen für die Staats- und die direkte Bundessteuer 2012 trat das Kantonale Steueramt Zürich am 31. Oktober 2014 nicht ein, weil die Pflichtige der für die Anfechtung von Ermessensveranlagungen geltenden qualifizierten Begründungspflicht nicht Genüge getan habe.
1.2. Dagegen gelangte A._ mit zwei vom 1. Dezember 2014 datierten und am 3. Dezember 2014 zur Post gegebenen Schreiben (betitelt mit "Rekurs gegen die direkte Bundesteuer 2012" bzw. "Rekurs gegen die Staats- und Gemeindesteuern 2012") an das Kantonale Steueramt. Dieses leitete die Eingaben an das Steuerrekursgericht des Kantons Zürich weiter, das zuständig wäre, falls Rekurs bzw. Beschwerde geführt werden wollte.
1.3. Mit Verfügung vom 18. Dezember 2014 setzte das Steuerrekursgericht A._ eine Frist von acht Tagen (ab Erhalt der Verfügung angesetzt), um schriftlich zu erklären, ob die Schreiben vom 3. Dezember 2014 als Beschwerde und Rekurs zu betrachten sei; bei Stillschweigen werde die Sache als erledigt angesehen und davon ausgegangen, dass die Pflichtige keine Rechtsmittel gegen die Einspracheentscheide erheben wolle; sollte dies doch der Fall sein, sei bis zum 7. Januar 2015 ein Kostenvorschuss zu leisten.
Mit Schreiben vom 6. Januar 2015 (d.h. nach Ablauf der 8-Tage-Frist) erklärte A._ dem Steuerrekursgericht ihren Beschwerde- bzw. Rekurswillen. Die Kostenvorschüsse zahlte sie fristgerecht.
Am 22. Januar 2015 schrieb das Steuerrekursgericht das Verfahren wegen verspäteter Eingabe kostenlos ab.
1.4. Dagegen liess die Betroffene nun durch einen Rechtsanwalt Beschwerden an das Verwaltungsgericht des Kantons Zürich erheben, welches diese Rechtsmittel mit Urteil vom 15. April 2015 abwies, bei gleichzeitiger Abweisung eines Gesuchs um unentgeltliche Prozessführung wegen Aussichtslosigkeit.
1.5. Mit Eingabe vom 28. Mai 2015 hat A._ Beschwerde in öffentlich-rechtlichen Angelegenheiten beim Bundesgericht hinsichtlich der Staatssteuer (Verfahren 2C_479/2015) und der direkten Bundessteuer (2C_480/2015) eingereicht. Das Urteil des Verwaltungsgerichts, dasjenige des Steuerrekursgerichts und die Einspracheentscheide vom 31. Oktober 2014 seien aufzuheben. Ausserdem sei die unentgeltliche Rechtspflege und -verbeiständung zu gewähren.
1.6. Es sind keine Vernehmlassungen eingeholt worden.
2.
2.1. Angefochten ist ein kantonal letztinstanzliches Urteil betreffend die direkten Steuern des Kantons und des Bundes. Dagegen steht gemäss Art. 82 ff. BGG in Verbindung mit Art. 73 ff. des Bundesgesetzes vom 14. Dezember 1990 über die Harmonisierung der direkten Steuern der Kantone und Gemeinden (StHG, SR 642.14) und mit Art. 146 des Bundesgesetzes vom 14. Dezember 1990 über die direkte Bundessteuer (DBG, SR 642.11) die Beschwerde in öffentlich-rechtlichen Angelegenheiten an das Bundesgericht offen. Auf das form- und fristgerecht eingereichte Rechtsmittel der gemäss Art. 89 Abs. 1 BGG legitimierten Beschwerdeführerin ist somit grundsätzlich einzutreten.
2.2. Die Vorinstanz hat die Verfahren betreffend Kantonssteuern und direkte Bundessteuer vereinigt und ein einziges Urteil gefällt. Die Beschwerdeführerin ficht dieses Urteil mit einer einzigen Beschwerdeeingabe an. Das ist zulässig, sofern in der Beschwerde zwischen den beiden Steuerarten unterschieden wird und aus den Anträgen hervorgeht, inwieweit diese angefochten sind und wie zu entscheiden ist (vgl. BGE 135 II 260 E. 1.3.2 S. 264 f.; 131 II 553 E. 4.2). Das Bundesgericht seinerseits eröffnet in einem solchen Fall grundsätzlich zwei Verfahren, behält sich aber vor, die beiden Verfahren zu vereinigen und nur ein Urteil zu fällen, was sich hier rechtfertigt.
Ob in der vorliegend eingereichten Beschwerdeschrift die Ausführungen zur Staatssteuer genügend von denjenigen zur direkten Bundessteuer getrennt sind, kann mit Blick auf den Verfahrensausgang offen bleiben.
2.3. Nicht einzutreten ist auf die Beschwerde, soweit damit auch die Aufhebung des steuerrekursgerichtlichen Urteils und der Einspracheentscheide beantragt wird. Die Beschwerde ist nur gegen letztinstanzliche kantonale Akte zulässig (Art. 86 Abs. 1 lit. d BGG), d.h. hier gegen das verwaltungsgerichtliche Urteil (sog. Devolutiveffekt dieses Urteils; vgl. u.a. BGE 134 II 142 E. 1.4 S. 144).
2.4. Die Beschwerde ist im vereinfachten Verfahren gemäss Art. 109 BGG zu behandeln. Das rechtfertigt es auch, auf die ansonsten gebotene Trennung zwischen Staats- und direkter Bundessteuer zu verzichten.
3.
3.1. Gemäss Art. 140 Abs. 1 DBG bzw. § 147 Abs. 1 des Steuergesetzes des Kantons Zürich vom 8. Juni 1997 (StG/ZH) ist die Beschwerde bzw. der Rekurs gegen den Einspracheentscheid innert 30 Tagen nach Zustellung beim Steuerrekursgericht zu erheben. Die Beschwerde- bzw. die Rekursschrift muss einen Antrag und eine Begründung enthalten sowie den allgemeinen Voraussetzungen genügen (Unterschrift usw.). Aus der Beschwerde- bzw. Rekursschrift muss weiter der vorbehalts- und bedingungslos erklärte Wille hervorgehen, den Einspracheentscheid des kantonalen Steueramts anzufechten.
3.2. Das Verwaltungsgericht hat überzeugend dargelegt, dass ein solcher vorbehalts- und bedingungslos erklärter Wille zur Beschwerde- bzw. Rekursführung dem Schreiben vom 3. Dezember 2014 nicht zu entnehmen war und die Eingabe unter den gegebenen Umständen bzw. aufgrund der zu beurteilenden Formulierungen (vgl. dazu näher E. 3.2 des angefochtenen Urteils) auch als Gesuch um Steuererlass verstanden werden konnte. Die deswegen erfolgte gerichtliche Rückfrage war somit rechtskonform, ebenso wie der nachmalige Nichteintretensentscheid, da die Beschwerdeführerin ihren Beschwerde- bzw. Rekurswillen verspätet kundgetan hatte (vgl. dazu u.a. auch das Urteil 2C_407/2012 vom 23. November 2012 E. 2 in: StE 2013 B 92.8 Nr. 17, wonach die Gerichtsferien weder für die direkte Bundessteuer noch für die Staats- und Gemeindesteuern des Kantons Zürich gelten).
3.3. Die vor Bundesgericht dagegen erhobenen Rügen sind allesamt offensichtlich unbegründet. Namentlich ist nicht ersichtlich, inwiefern die Rückfrage in irgendwelcher Weise gegen materiell- oder verfahrensrechtliche Bestimmungen verstossen hätte. Ebenso war eine 8-Tage-Frist angesichts der einfachen, von der Beschwerdeführerin verlangten Erklärung mit Sicherheit nicht zu kurz bemessen. Es handelte sich dabei auch nicht um eine Aufforderung zur Beschwerdeverbesserung. Weiter ist nicht erkennbar, inwiefern die zugrunde liegenden Einspracheentscheide als geradezu nichtig einzustufen wären; eine solche Nichtigkeit ist nur ausnahmsweise anzunehmen und fällt hier ausser Betracht, insbesondere aufgrund funktioneller bzw. sachlicher Un zuständigkeit der urteilenden Behörde oder krasser Verfahrensfehler; gravierende materielle Mängel sind nicht erkennbar (vgl. zum Ganzen u.a. BGE 138 II 501 E. 3.1 S. 503 f., 137 I 273 E. 3.1 S. 275, 137 III 217 E. 2.4.3 S. 225, 136 II 489 E. 3.3 S. 495).
3.4. Bei diesem Ausgang des Verfahrens wird die Beschwerdeführerin kostenpflichtig (vgl. Art. 65 f. BGG); ihr jeweiliges Gesuch um unentgeltliche Prozessführung vor Bundesgericht ist aussichtslos und somit abzuweisen (vgl. Art. 64 Abs. 1 BGG).
Demnach erkennt das Bundesgericht:
1.
Die Verfahren 2C_479/2015 und 2C_480/2015 werden vereinigt.
2.
Die Beschwerde betreffend die direkte Bundessteuer wird abgewiesen, soweit darauf einzutreten ist.
3.
Die Beschwerde betreffend die Staats- und Gemeindesteuern wird abgewiesen, soweit darauf einzutreten ist.
4.
Die Gesuche um unentgeltliche Rechtspflege werden abgewiesen.
5.
Die Gerichtskosten von insgesamt Fr. 800.-- werden der Beschwerdeführerin auferlegt.
6.
Dieses Urteil wird den Verfahrensbeteiligten, dem Verwaltungsgericht des Kantons Zürich, 2. Abteilung, Einzelrichter, und der Eidgenössischen Steuerverwaltung schriftlich mitgeteilt.
Lausanne, 5. Juni 2015
Im Namen der II. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Zünd
Der Gerichtsschreiber: Matter