2021.6.25:我大二期末,假期在家没意思,就想出去实习一下。
我主要面试实习的是web后端开发;问的问题都是按照简历上问的,简历上主要就是我得过哪些奖学金,我自己开发的网站功能具体都是怎么实现的,我会哪些技术;
问:java se都学了什么?
答:集合,线程,异常,包装类。。。(然后分别展开了说了一下)
问:js中或jQuery是怎么获取参数的和文本输入框的内容的?
答:当时有点懵住了,我说可以首先获取url,然后再进行按"?"字符串分割,再遍历就能找到。获取文本框我忘了。。(用jQuery直接.val方法就是数据啊)
问:html,css,bootstrap都有了解过是把?虽然是后端开发,但是前端多少会用到一点的
答:是的。
问:这个网站中的用户登录注册功能是怎么实现的?
答:用户登录要有,用户名,密码,验证码;首先前端获取三者传递到web层,web层首先根据本次生成的验证码看用户输入的验证码是否正确,(我们会将本次生成的验证码存入session中),如果验证码不正确我们就不再进行后续验证了,因为后续要查询数据库,时间消耗肯定是比较大的;否则继续验证,只需要web层–>service层–>dao层根据用户名和密码查找即可,如果找到则return true,并且service会在session中添加一个user,证明用户登录了。注册是同理的。
问:这个项目中dao层用的是什么技术?
答:我用的是spring中的jdbcTemplate,用原始jdbc太罗嗦了,要一个一个的封装等等。
问:那为什么没有用到mybatis呢?
答:在写这个项目时,我还没有学习mybatis,但是现在会了,其实mybatis就是把sql写在xml里了。
问:对,对mybatis多表查询后的结果进行封装你有了解过吗?
答:有的,多表查询的结果可能不仅仅封装成一个对象,封装也是比较方便的,column是数据库查出来的某一列,property是当前实体类的某一个属性,只要一一对应即可,如果封装的又是另外一个自己写的类,只要把那个类的全路径.属性即可。
问:mybatis既然把sql语句写在xml中,那它是怎么知道这个xml是对应某一个接口的呢?
答:我们一般给映射的xml文件起名为xxxMappwer,在这个文件中有一个标签叫mapper,只需将其的namespace属性的值设置为dao层接口的全包名,mapper标签中的每一个相应的查询,修改标签的id为dao层接口的方法名即可。
基本上就问了这么多,还有一些spring的问题,不难;总体来说并没有问太难的问题,大概问了半小时左右,也没有问数据结构和算法,可能对在校生的要求并没有那么高,hr的态度也挺好的;面试不难,实习薪资是给我3000,感兴趣兄弟的可以去试一试哈。