Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

GIS & Geospatial Data (QGIS, GeoPandas, PostGIS) Module 4

QGIS desktop interview questions

Interview questions on QGIS desktop: short warm-ups, then what each harder question tests, the first step of a good answer and its follow-ups.

27 questions: 7 warm-ups and 20 with model answers · Levels: Fresher to senior

Warm-up questions

Short questions with short answers, each answered in full.

  1. Fresher

    What is the difference between the project CRS and a layer's CRS in QGIS?

    Answered in the lesson QGIS setup: LTR or latest, and the interface

  2. Fresher

    What is the difference between a categorised and a graduated renderer in QGIS?

    Answered in the lesson QGIS symbology, classification and labels

  3. Fresher

    What does NULL mean in a QGIS expression, and how do you find it?

    Answered in the lesson QGIS attribute tables, joins and expressions

  4. Fresher

    What is the difference between an invalid geometry and a topology error in QGIS?

    Answered in the lesson Digitising, topology and georeferencing

  5. Fresher

    What is the difference between a batch run and a model in QGIS Processing?

    Answered in the lesson Processing toolbox, batch runs and models

  6. Fresher

    What does an atlas do in a QGIS print layout?

    Answered in the lesson Print layouts, atlases and map design

  7. Fresher

    What is the difference between PyQGIS in the Python console and in a standalone script?

    Answered in the lesson Automating QGIS with PyQGIS

Questions with model answers

What each question tests, the first step of a good answer and the follow-ups to expect.

  1. Fresher to mid

    You send a colleague your QGIS project, town.qgz, together with the GeoPackage it uses. They open the project and every layer is marked unavailable. Explain what most likely happened, how they can recover the project today, and how you would hand projects over so that it does not happen again.

    What it tests
    Knowing that a project stores paths to its data rather than the data, the difference between relative and absolute paths, and a repeatable way to package and check a project before sharing it.
    First step
    Unzip the .qgz and read the datasource of a layer in the .qgs. A path such as /home/you/fieldwork/data/town.gpkg names your own folders, which do not exist on their computer; ./data/town.gpkg would have found the file next to the project.
    Follow-ups

    From the lesson QGIS setup: LTR or latest, and the interface

    Model answer, Pro. Model answers open with any pass; prices are in the notice on this page.

    Opening the model answers with your pass…

    Model answers open with any MySmartCoPilot pass.

    • Pro pass · 1 week₹79$2.99
    • 30 days₹179$5.99
    • 1 year₹1,699$45

    One payment; a pass never renews. The price shown is the total you pay: no fees or charges are added at checkout.

    It also opens every other in-depth part in Learn and every Pro tool. Sales are final, except where the law gives you a right to withdraw, for example in the EU and the UK (refund policy).

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  2. Mid to senior

    A state agency wants one QGIS version on 200 desktops for the coming year. Two in-house plugins were written for QGIS 3, and one analyst wants a feature that only QGIS 4.2 has. Which version do you recommend, how do you roll it out, and what would change your mind?

    What it tests
    Understanding QGIS's release cycle and long-term releases, what the move to Qt6 means for plugins, and how to plan a version for many machines without blocking the people who need newer features.
    First step
    Separate the fleet from the exception. The plugins decide the fleet: QGIS 4 loads a plugin only when its metadata allows QGIS 4, so check both plugins on 4.2 before anything else. The analyst's feature is one machine's need, which a second installed version can meet.
    Follow-ups

    From the lesson QGIS setup: LTR or latest, and the interface

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  3. Fresher to mid

    A colleague's map of households per ward uses QGIS's default quantile classes. The legend reads 126 - 198.75, 198.75 - 359.5, 359.5 - 474 and 474 - 1,169, and readers complain that it looks careless. Explain where the decimals come from and how you would fix the map without hiding anything.

    What it tests
    Understanding how the quantile method places breaks, why counts get fractional limits, and how to choose and label breaks that readers can trust and quote.
    First step
    Sort the 12 counts and look at where the first quantile break falls: between the third and the fourth ward, 183 and 204 households. A break that falls between two counts is a fraction, so a legend of whole counts shows decimals.
    Follow-ups

    From the lesson QGIS symbology, classification and labels

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  4. Fresher to mid

    A district health officer's map colours zones by the number of fever cases. The largest zone is darkest, and the officer plans to send more staff there. What would you check before anyone acts on the map, and what map would you make instead?

    What it tests
    Recognising that a choropleth of raw counts mostly shows area or population, knowing how to normalise, and choosing a denominator that matches the decision.
    First step
    Put each zone's area, and if possible its population, next to its count. A zone four times larger can have the most cases and the fewest per person, so rank the zones by count and by rate and see whether the order changes.
    Follow-ups

    From the lesson QGIS symbology, classification and labels

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 2 minutes
  5. Mid to senior

    Your team styles layers in QGIS, and a web map server must draw the same layers for the public. After the first export, the public map does not look like the QGIS map. How do you work out what changed, and how do you keep the two in step?

    What it tests
    Knowing what QML and SLD each keep, how styles change on export, and how to build a workflow that checks the exported style in the program that draws it.
    First step
    Load the exported SLD back into a fresh QGIS layer and compare it with the QML, setting by setting: the renderer, the classes, the label sizes, the halo and the opacity. Then render the server's map and QGIS's at the same scales, side by side.
    Follow-ups

    From the lesson QGIS symbology, classification and labels

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 2 minutes
  6. Fresher to mid

    Two analysts calculated households per square kilometre for the same 12 wards in QGIS, and their columns differ slightly on every ward, by about 0.04 %. Neither made a typing mistake. What do you look for, and which value would you publish?

    What it tests
    Knowing QGIS's two families of measuring functions, which project settings they depend on, and how to choose and document the measure a published number uses.
    First step
    Ask for both expressions and both projects' settings. One analyst probably divided by $area, which measured W08 on the WGS 84 ellipsoid as 4,001,752.60 m², and the other by area($geometry), the planar 4,000,000 m² on the UTM grid: 84.96 against 85.00 households a square kilometre.
    Follow-ups

    From the lesson QGIS attribute tables, joins and expressions

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 2 minutes
  7. Fresher to mid

    A state dashboard joins clinic visits to districts by district name. QGIS reports most rows joined, yet the state total is higher than the source table's, and one district shows no visits at all. Diagnose it and design a join you would trust.

    What it tests
    Recognising duplicate and mistyped keys in a table join, checking a join by counts and totals, and replacing names with official codes or a crosswalk.
    First step
    Compare the joined total with the source total, then look for names that occur more than once on either side, such as the two Bilaspurs of Chhattisgarh and Himachal Pradesh, and for names that differ only by spaces or letter case. A first-match join gives a repeated name one row's values twice.
    Follow-ups

    From the lesson QGIS attribute tables, joins and expressions

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 2 minutes
  8. Fresher to mid

    You add a field total = "adults" + "children" to a survey layer of 300 households with the field calculator. 40 rows come out NULL, and the layer's sum of total is lower than the sum of adults plus the sum of children. Explain, and fix it without hiding real gaps.

    What it tests
    Understanding how NULL spreads through QGIS operators, the difference between a missing value and zero, and how to find and report rows that a calculation could not handle.
    First step
    Select the 40 rows with "total" IS NULL and look at their inputs. In QGIS any operator with a NULL gives NULL, so a household with adults recorded and children missing gets no total at all, and the layer's sum skips it.
    Follow-ups

    From the lesson QGIS attribute tables, joins and expressions

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 2 minutes
  9. Fresher to mid

    Three interns digitised a city's 120 wards from a scanned plan. The wards' areas add up to almost exactly the city's official area, so the team lead wants to publish. What would you check first, why is the total not enough, and how would you organise the next digitising round?

    What it tests
    Knowing that area totals hide errors that cancel, the order of validity and topology checks, safe repairs, and a digitising setup that prevents slips.
    First step
    Do not trust the total: a gap takes area away and an overlap adds it, so the two can offset. Run Check validity first, because Processing's gap and overlap checks refuse invalid input, then run those checks and count what they find.
    Follow-ups

    From the lesson Digitising, topology and georeferencing

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 2 minutes
  10. Mid to senior

    A colleague georeferenced an old district map with a third-order polynomial on exactly ten control points and proudly reports an RMSE of 0.00 m. Roads drawn from it miss the GPS tracks by hundreds of metres in places. Explain what happened and how you would georeference the map instead.

    What it tests
    Understanding residuals and RMSE, why exact fits are not accurate fits, the role of check points, and choosing a transformation and a point layout for a scan.
    First step
    Count the unknowns: a third-order polynomial has ten per coordinate, so ten points determine it exactly and leave no residual to see. Then measure a few independent points that the fit never saw, and compare their errors with the GPS tracks.
    Follow-ups

    From the lesson Digitising, topology and georeferencing

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 2 minutes
  11. Fresher to mid

    Four field teams digitise land use into copies of one GeoPackage. When the copies are merged, the land-use column holds 14 different spellings of five classes, some points have no surveyor, and point numbers repeat. How would you prevent this in the next survey, and what would you still check after merging?

    What it tests
    Designing attribute rules with field domains, form widgets, constraints and default values, and knowing where each rule is enforced and where it is not.
    First step
    Put the rules into the data the teams receive: a coded field domain for land use, so QGIS gives every copy the same value list in its form, then constraints for a unique point number and a required surveyor.
    Follow-ups

    From the lesson Digitising, topology and georeferencing

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 2 minutes
  12. Fresher to mid

    Two analysts ran the same monthly coverage analysis by clicking through QGIS dialogs and got different answers from the same data, and last month's number cannot be reproduced at all. How would you find the cause, and how would you make the analysis repeatable and checkable from now on?

    What it tests
    Knowing where QGIS keeps the settings of a run, turning a chain of dialogs into a model, keeping run records, and telling a repeatable answer from a right one.
    First step
    Compare what each analyst actually ran before comparing results: the parameters of every step, from the Processing history or Advanced ▸ Copy as JSON, and the QGIS version. One value left at its default by one analyst and typed by the other is enough to change a count.
    Follow-ups

    From the lesson Processing toolbox, batch runs and models

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  13. Fresher to mid

    A batch run reprojected 40 field-survey files to UTM zone 43N without a single error, yet on the map one team's 379 points sit on the equator, about 2,000 km south of the town. Explain what happened, how you fix that file, and how you would catch the same slip automatically in next month's batch.

    What it tests
    Recognising coordinates of one CRS labelled as another, the difference between assigning and reprojecting a CRS, and checks that verify every output of a batch.
    First step
    Read the bad output's extent and compare it with the town's: coordinates that small cannot be eastings of this town. Then compare what the source file's label says its numbers are with what the numbers look like.
    Follow-ups

    From the lesson Processing toolbox, batch runs and models

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  14. Mid to senior

    District officers who do not write Python must run the clinic-coverage analysis themselves, and the same analysis must also run every night on a server and publish a table. What would you build and hand over, and how would you make sure the officers' runs and the server's runs give the same answer?

    What it tests
    Choosing between models, batch runs, qgis_process and scripts for different users, running a model without a window, and controlling versions and inputs so that two environments agree.
    First step
    Build one model, not two tools: a .model3 file whose layers and distance are inputs. The officers run it from the Processing toolbox, and the server runs the same file with qgis_process --json, keeping each run's record beside its table.
    Follow-ups

    From the lesson Processing toolbox, batch runs and models

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  15. Fresher to mid

    A 36-page block atlas came out of QGIS with the same whole-district map on every page, though each page's title names the right block. What went wrong, how do you fix it, and how would you check the next atlas before anyone prints it?

    What it tests
    Understanding which layout items follow the atlas feature and which do not, the map's atlas settings, and checks that cover every page of an atlas.
    First step
    Open the map item's properties. Labels read the atlas feature on their own, which is why the titles changed, but a map follows the feature only when Controlled by atlas is ticked; with it off, the map keeps its own extent on every page.
    Follow-ups

    From the lesson Print layouts, atlases and map design

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  16. Fresher to mid

    A colleague's draft map page has the title "Map" in small text, a legend titled with the field name hh_cnt, a scale bar in metres from 0 to 4,000, grey ward labels on dark blue wards, and no credits. Review it: what would you change, in which order, and how would you check each change?

    What it tests
    Applying visual hierarchy to a page, choosing legend and scale-bar wording for readers, measuring label contrast, and knowing that credits belong on the page.
    First step
    Start with what the page must say. Rewrite the title as the finding and make it the largest text, because every other choice follows from it; then fix what a reader needs to read the map: the legend's words and the scale bar's units.
    Follow-ups

    From the lesson Print layouts, atlases and map design

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  17. Mid to senior

    Your team will publish ward maps as PDF files on a public portal, exported from a QGIS atlas. Beyond how the pages look, what do you check in the files before they go up, and how would you check all of them at once?

    What it tests
    Knowing what an exported PDF carries besides the drawing, such as text, metadata and point locations, and checking exports by their content rather than by eye.
    First step
    Open one PDF's properties and try to search its text. An export can carry a name you never meant to publish and text that cannot be found, so fix the causes in the project and the export settings, not file by file afterwards.
    Follow-ups

    From the lesson Print layouts, atlases and map design

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  18. Mid to senior

    A nightly PyQGIS report has written all 12 ward PDFs every night for a month, yet the scheduler marks every run failed with exit code 139. Nobody has found anything wrong in the files. What is most likely happening, and how do you make the job's exit code trustworthy?

    What it tests
    Reading exit codes and signals, the shutdown of a standalone PyQGIS script, and designing a scheduled job whose exit code and checks say whether its output can be trusted.
    First step
    Decode the number first: a shell reports 128 plus the signal's number, so 139 means signal 11, a segmentation fault. The files are complete every night, so look at what the script does after its work, at the very end.
    Follow-ups

    From the lesson Automating QGIS with PyQGIS

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  19. Mid to senior

    A PyQGIS script counts 2 million address points per district by looping over every point and testing it against each of 300 districts. It runs for hours. How would you make it fast, and how would you show that the fast version gives the same counts?

    What it tests
    Using feature requests and spatial indexes, choosing a Processing algorithm over a hand-written loop, reading only the fields a task needs, and checking a rewrite against the old answer.
    First step
    Count the work first: 2 million points times 300 districts is 600 million geometry tests. Most of them test a point against a district nowhere near it, so let an index do the rejecting: a request per district that starts from its bounding box, or Count points in polygon, which does the whole join in one call.
    Follow-ups

    From the lesson Automating QGIS with PyQGIS

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes
  20. Mid to senior

    Your team's in-house QGIS plugin must keep working for analysts on the long-term release, QGIS 3.44, and on QGIS 4.2. What do you change in its code and its metadata, and how do you test it before you release it?

    What it tests
    Knowing what the move to Qt6 changed for plugins, the metadata that lets QGIS 4 load a plugin, and a test plan that covers both versions.
    First step
    Start with the metadata, because QGIS 4 will not load a plugin whose metadata.txt has no maximum version that allows it: set qgisMaximumVersion=4.99. Then find the spellings that Qt6 dropped, such as unscoped enumerations, with the migration guide's pyqt5_to_pyqt6 script run on a Qt6 QGIS.
    Follow-ups

    From the lesson Automating QGIS with PyQGIS

    Model answer, Pro.

    In the answer:

    • Model answer
    • Follow-up answers
    • Common mistakes
    • Rubric
    • Variants
    • about 3 minutes

All GIS & Geospatial Data (QGIS, GeoPandas, PostGIS) interview questions · The GIS & Geospatial Data (QGIS, GeoPandas, PostGIS) track

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.