Refer the following link
The methods are called in the following order.
OnInit – Configuration values set using WebBrowsable properties and those in web part task pane are loaded into the web part. Initialize the values here.
LoadViewState – The view state of the web part is populated over here. (When its a post back)
CreateChildControls – All the controls specified are created and added to controls collection. When the page is being rendered for the first time the method generally occurs after the OnLoad() event. In case of postback, it is called before the OnLoad() event. We can make use of EnsureChildControls() – It checks to see if the CreateChildControls method has been called and if not it would call it.
User Generated Event – for e.g. button click on the web part.
OnPreRender – Here we can change any of the web part properties before the control output is drawn.
RenderContents – Html Output is generated.
SaveViewState – View state of the web part is serialized and saved.