Fork me on Gitee

第二次面试(电话面试)

第二次面试(电话面试)

  1. 自我介绍一下自己。

    我叫任秀兴,平时的爱好是写写程序,实现个功能让自己开心一下。沟通能力比较强、自我管理能力比较好,在复杂的事情面前能够保持一个乐观的心态,能在较短的时间内处理复杂的问题。善于使用搜索工具解决问题,能够敏锐的发现问题所在。

  2. 说一下你做过的项目。

    做过一个简单的项目,servlet+jsp的,是给政府质检部门做的一个报告管理系统。我担任里面的项目负责人,主要做的工作是:与客户沟通,了解开发方向及客户想要实现的功能;功能方面,验证码登录、权限划分、文件的上传及下载、对报告的模糊查询、复制报告、分页处理、报告打印等;以及项目在Windows环境下的部署。

  3. 说一下冒泡排序,时间复杂度,最大的交换次数?

    冒泡排序是通过相邻两个数比较,第一行第一个数与第二个数进行比较,大的或者小的放在前边或者后边,然后第二个与第三个数进行比较。。等第一行比较结束时,最大或者最小数也就找到了,然后同样使用此方法进行第二行的排序直至所有的排序完成。

  4. Servlet的执行过程

    前端通过超链接或者表单将数据传递给相应的servlet,servlet接收到前端传来的数据进行处理,操纵数据库等,然后将处理过得结果返还到前端。

  5. Servlet将值返回给jsp的形式

    获取session对象-->通过session获取应用上下文对象-->获取存储在应用上下文对象的集合对象-->将封装信息的javabean存在集合对象中-->将集合对象存储在应用上下文中-->重定向到jsp页面

  6. 了解sql注入吗?如何防止

    SQL注入,就是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。

    防止SQL注入

    1.执行sql语句时使用addslashes进行sql语句转换

    2.Sql语句书写尽量不要省略小引号和单引号

    3.过滤掉sql语句中的一些关键字:update、insert、delete、select、*

    4.提高数据库表和字段的命名技巧,对一些重要的字段根据程序的特点命名,取不易被猜到的。

    5.控制错误信息,不要再浏览器上输出错误信息,将错误信息写到日志文件中。

    6.永远不要信任用户的输入。对用户的输入进行校验,可以通过正则表达式,或限制长度;对单引号和双"-"进行转换或删除等。

    7.永远不要使用动态拼装sql,可以使用参数化的sql或者直接使用存储过程进行数据查询存取。

    8.使用预编译绑定变量的SQL语句

    9.严格加密处理用户机密信息

    一个好的程序一定要注意安全性,否则只适合练手。

  7. 如何防止死锁?

    死锁产生的条件:两个进程都在互相等待对方结束才能进行下面的操作,防止就是不让程序出现这种情况。

  8. 还记得数据结构中的链表吗?

  9. 你对算法的了解有多少?

  10. 你学过json、ajax吗?

posted @ 2018-07-09 14:11  明叶师兄。  阅读(892)  评论(0编辑  收藏  举报