I am EE so it's a different field of engineering but the technical questions I got was okay. It's all related to the stuff that you learned in class. I know the infamous Microsoft/Google interview questions and some of my friends who are Computer Science major get technical questions on every single of their interviews, for engineering it is nowhere near as bad as them, especially it's for Bachelor's Degree. Like for me I had one interview with a couple of technical questions out of every ten other interviews or so. When you look at a question they ask you either orally or on paper, take a pause first whether you know the answer or not, make it look like you are thinking, not spitting out answers based on your gut feeling. Second, if you don't know the answer but you know what the question is really asking you can say something about it so they know you now this area. Maybe you don't know the answer because you are just missing a step in a 10-step problem solving process, but if just tell them I don't know, they can assume you don't know anything, whereas if you talk about your thinking process w/o coming up with an answer, they can at least know that you possess the potential to be a worthy employee. So you need to keep the conversation going even if you don't know the answer, but don't talk too much either. Don't show "I don't know and I don't care" attitude. Another trick is try to convert it to something you know and talk about it from that perspective.
One thing you have to understand (or you have already realized) is that for a Bachelor's Degree position they want someone who knows what others in this field talk about. Say there is an equation that calculates this and that and you don't know but it's in the book and you can find it anytime you want, that's not a problem. But if you are with a bunch of professionals, most of the time you have to understand them, in other words your brain has to click with the technical terms coming out of their mouth. This is what they mean by "you know what you are doing". For a position that requires MS/PhD, they really want an expert that knows just about everything in a particular field, then you have to sound like someone who really knows what's going on, but that's not for the position you are applying for. However if you can impress the interviewers with that then that would definitely be a plus.
As for preparation, I'd say if you have taken every required course in your field and you know them fairly well then you should be fine. Again, Microsoft and Google and I bet there are other companies out there that are well-known for screwing people up with difficult questions. I have gotten "interesting" questions in the past too, like one time I had this interview with Raytheon and the guy asked me if I were in charge of building a large scale missile defense system that has lots of components from ground to air what would my approach be in terms of building each component. Obviously a missile defense system is not taught in school. So I told him that I would focus on the overall requirements of the program and requirements of each component and the interaction with other components, and some other things which I don't recall. Some of the things I said were common sense, so it's not as scary as you may think. I didn't know if my answer was what he was looking for but he agreed with what I said.
I don't know what company you are applying for. and if this is your first interview with that company you probably don't know much about their interviewing style either. So if you know there is an area in Petroleum Engineering that you don't know much about (it could be a course that you did poorly), you probably want to review that. If you are confident that you know most of the stuff then you don't need to prepare.