Interpreting 2 residuals plots Hello. Can anyone help me with interpreting these plots? I would like to know what assumptions of the linear model are not being met and what method should be used to fix the problems. I think there is a problem with heteroscedasticity? Not sure about linearity either. Thank you!

General Summary
The first plot takes the standardized residuals (or standardized error values) and plots them against the fitted values (predicted values of model). Unlike the second plot, because the standardized residuals are  the square root of the absolute value of the standardized residuals, they can only have a positive value. Therefore, they represent whether or not the strength of residuals increase based on the fitted values. So assuming we have a regression that predicts coffee consumption on productivity, if standardized residuals tend to increase as coffee consumption fitted values are high, this indicates it is less accurate within this range. You usually don't want any weird trends like several curves from the smooth line.
The second plot does something similar but in a different way. It takes normal residuals (raw errors in your model) and plots them against fitted values (the predicted values of your model). The smooth line should be as flat as possible, with curves in the smooth occurring because of points that may deviate in some way from the norm. This is because residuals are supposed to be evenly distributed with a mean close to zero, thus points that stray far away from zero are considered problematic. Again, this tries to explain if some parts of your model are more accurate than others, so both plots indicate goodness of fit.
For a normally distributed response, there should also be no obvious pattern of residuals. Your plots seem to have some obvious patterns present (the data points at the top are very diagonal), and as pointed out in the comments below, it may be due to the bounded and discrete nature of your values.
Practical Example: Good Model Fit
Here I have loaded three libraries: tidyverse for some simple data wrangling with the mutate function and UsingR for the father.son dataset.
#### Load Libraries ####
library(UsingR)
library(tidyverse)

I then fit a classical regression model...Karl Pearson's father-son height data, which is often used for examples of regression to the mean. It has a fairly linear relationship and has no obvious issues with where data is spread, so it makes a good candidate for an example.
#### Fit Good Model ####
good.fit <- lm(sheight ~ fheight, 
               father.son)
plot(good.fit)

Here you can see the same plots you showed are fairly normal:


Practical Example: Bad Model Fit
Now lets fit a model that isn't so excellent and see what changes. Using R's native airquality data:
#### Fit Poor Model ####
bad.fit <- lm(Ozone ~ Wind,
              airquality)
plot(bad.fit)

You start to notice some real problems:


This is because the data I modeled has a curvilinear fit. If you use plot(airquality$Ozone, airquality$Wind) you will see the relationship is more curvilinear and has many data points clustered at one end:

By the way, the numbers labeled on the data points are more influential values and indicate the row/observation where this occurs. You can check your data and see why these values stick out after running these diagnostic plots. However, you may notice that even in my fairly normal regression there were points labeled as well, so you should interpret these values with discretion.
