The San Francisco 49ers had their last open practice session of OTAs before heading into next week’s minicamp and we have a few takeaways. It was a day dominated by the defense which is normal at this point in the offseason. The 49ers have used many of their higher draft picks over the past several years on defensive players on top of switching to a simpler, one gap scheme. Kyle Shanahan’s offense, known for being quite wordy and more complex, is taking a little longer to install and get accustomed to for the young offense.

Interceptions

Brian Hoyer threw two interceptions during practice. One was intended for Pierre Garcon but was thrown slightly behind the receiver. Dontae Johnson, who was playing corner with the 1s snatched the ball up for an interception. Hoyer’s second interception was a short pass intended for Carlos Hyde which was tipped but NaVorro Bowman and subsequently caught by Malcolm Smith.

Sacks

Both Brian Hoyer and C.J. Beathard were sacked twice and Matt Barkley was sacked once. Tank Carradine, Pita Taumoepenu, Jimmie Gilbert and Chris Jones all registered sacks while Arik Armstead and DeForest Buckner split a sack.

Offensive line

There was still quite a bit of rotation on the offensive line. Joshua Garnett saw both sides of the guard position and Gary Gilliam spent some time with the 1s at LT while the team likely gave Joe Staley a little break.

Wide receivers

While Pierre Garcon is a pretty solid lock for the number one spot, Marquise Goodwin took several snaps with the ones and had a great fingertip catch near the sidelines. Jeremey Kerley also had snaps with the 1s.

Running back of the future?

Carlos Hyde is taking many of the first team snaps but Rookie Matt Breida is someone to start to get excited about. Running backs coach Bobby Turner lit up when asked about the young running back. His speed is hard to miss the he’s carrying the ball.

Return duties

Kapri Bibbs, Victor Bolden, Raheem Mostert, Matt Breida and Trent Taylor all took turns returning the ball.

Attendance and injury reports

Eli Harold was not at practice due to personal reasons. Rashard Robinson and K’waun Williams did not participate in practice due to undisclosed injuries. Jeremy Zuttah is nursing a hamstring injury and did not participate but is “chomping at the bit to play.” Bruce Ellington participated in individual drills but not team drills.

Ahmad Brooks limped off the field with an apparent leg injury towards the end of practice. He walked unassisted to the locker room about 15 minutes later, still limping slightly.

Special guests at practice

Stanford’s head coach Davis Shaw attended practice as well as many of his staff. He spoke with Shanahan and general manager John Lynch before and during practice. Stanford’s Solomon Thomas was not at practice because he has not finished his final exams but he is able to attend minicamp next week. There were also representatives from San Jose State in attendance.

Charles Haley was in attendance again, as he has been a semi-regular appearance at practice in recent years. He even got some tips from strength and conditioning coach Ray Wright.