这次面试20分钟就结束了,两个小时后就收到了凉凉的通知。
1、数据库几种删除数据方法区别
面试前还突击了一天数据库,然而还是不知道。。
delete
每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作
delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录。
truncate
truncate是DDL,会隐式提交,所以,不能回滚,不会触发触发器。
truncate会删除表中所有记录,并且将重新设置高水线和所有的索引,缺省情况下将空间释放到minextents个extent,除非使用reuse storage,。不会记录日志,所以执行速度很快,但不能通过rollback撤消操作(如果一不小心把一个表truncate掉,也是可以恢复的,只是不能通过rollback来恢复)。
对于外键(foreignkey )约束引用的表,不能使用 truncate table,而应使用不带 where 子句的 delete 语句。
truncatetable不能用于参与了索引视图的表。
drop
drop是DDL,会隐式提交,所以,不能回滚,不会触发触发器。
drop语句删除表结构及所有数据,并将表所占用的空间全部释放。
drop语句将删除表的结构所依赖的约束,触发器,索引,依赖于该表的存储过程/函数将保留,但是变为invalid状态。
2、Java如何跳出多重循环
带标签的break
3、你常用的Java方法、语法之类的
当时一听就蒙了,这个问题太空洞了,不知道怎么回答(扣分)
现在想来可以随便扯,主要是看我对Java的掌握程度
4、给你一个登录页面,你怎么测试
这是面试时很容易遇到的一个问题, 考察面试者是否熟悉各种测试方法,是否有丰富的Web测试经验, 是否了解Web开发,以及设计用例的能力。
首先,你要了解用户的需求,比如这个登录界面应该是弹出窗口式的,还是直接在网页里面。对用户名的长度,和密码的强度(就是是不是必须多少位,大小写,特殊字符混搭)等。还有比如用户对界面的美观是不是有特殊的要求?(即是否要进行UI测试)。剩下的就是设计用例了 ,等价类,边界值等等。
请你记住一点,任何测试,不管测什么都是从了解需求开始的。
功能测试(Function test)
0. 什么都不输入,点击提交按钮,看提示信息。
1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。
2.输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。
3.登录成功后能否能否跳转到正确的页面
4.用户名和密码,如果太短或者太长,应该怎么处理
5.用户名和密码,中有特殊字符(比如空格),和其他非英文的情况
6.记住用户名的功能
7.登陆失败后,不能记录密码的功能
8.用户名和密码前后有空格的处理
9.密码是否加密显示(星号圆点等)
10.牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用
11.登录页面中的注册、忘记密码,登出用另一帐号登陆等链接是否正确
12.输入密码的时候,大写键盘开启的时候要有提示信息。
界面测试(UI Test)
1.布局是否合理,2个testbox 和一个按钮是否对齐
2.testbox和按钮的长度,高度是否复合要求
3. 界面的设计风格是否与UI的设计风格统一
4. 界面中的文字简洁易懂,没有错别字。
性能测试(performance test)
1.打开登录页面,需要几秒
2.输入正确的用户名和密码后,登录成功跳转到新页面,不超过5秒
安全性测试(Security test)
1.登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)
2.用户名和密码是否通过加密的方式,发送给Web服务器
3.用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证
4.用户名和密码的输入框,应该屏蔽SQL 注入攻击
5.用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)
6.错误登陆的次数限制(防止暴力破解)
7. 考虑是否支持多用户在同一机器上登录;
8. 考虑一用户在多台机器上登录
可用性测试(Usability Test)
1. 是否可以全用键盘操作,是否有快捷键
2. 输入用户名,密码后按回车,是否可以登陆
3. 输入框能否可以以Tab键切换
兼容性测试(Compatibility Test)
1.主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)
2.不同的平台是否能正常工作,比如Windows, Mac
3.移动设备上是否正常工作,比如Iphone, Andriod
4.不同的分辨率
本地化测试 (Localization test)
1. 不同语言环境下,页面的显示是否正确。
软件辅助性测试 (Accessibility test)
0.软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能
1. 高对比度下能否显示正常 (视力不好的人使用)
5、黑盒测试用例设计方法有哪些?你知道对应的意思吗?
我当时犯了错,出来了常用的等价类划分、边界值分析其他的都只知道个名字。
这篇写的比较好黑盒测试:测试用例的设计方法 - CSDN博客
6、你了解性能测试吗?
看这里性能测试总结(一)---基础理论篇 - 贺满 - 博客园
7、你对逃课的看法?
随便扯
8、你为什么离开实习单位?
最好从职业发展规划的角度来回答。
1、行业选择
你可以告诉面试官实习的公司所在的行业,不是自己喜欢或者希望长久发展的行业,然后说明理由。比如,行业的前景不好、对这个行业没有兴趣等等。这么回答会让面试官觉得你在选择第一份工作时是很慎重的,有自己的想法,考虑得比较全面。
2、公司原因
如果你认为实习的公司性质(如国企/民企/外企)、公司经营状况、规模、公司文化等让你不看好,那选择不留在实习单位也是非常合理的。在回答这点时,要注意规避应聘公司同样存在的问题。比如,你说不想进民企,但现在的这家公司就是民企,那就自相矛盾了。
3、专业匹配
在高校的几年专业学习,让你掌握了很多专业知识,也希望毕业后能从事对口专业的工作,以便发挥自己的优势。由于你选择实习单位没有思考太多,实习岗位与你的专业不匹配,如果留下来只能从事实习岗位,为了你的专业考虑,所以你选择离开。
4、个人兴趣
你学的专业与你的兴趣不一致,也是你回答这个问题的切入口。特别是实习的岗位或你的专业与现在应聘的岗位不一致时,你就可以从个人兴趣角度回答。比如你是学人力资源管理的,实习的岗位虽然很对口,但你一直对新媒体运营很感兴趣,所以决定重新选择有关新媒体的工作。
你可从选择以上的一点或某几点来回答。另外,如果你在实习期间表现很好,实习单位希望你能留下,这个信息要传递给面试官,会起到良好的推崇作用。
回答这一问题时,思路要打开,既要解释为什么没有留在实习公司,也要表达为什么选择面试的公司,两者结合起来回答会更加有说服力。
8、大学期间最受挫折的事
重点是挫折后你怎么面对的,有没有去解决
9、你为什么不去做开发,而是选择测试
这个是我答得最差的,因为我想我想去修bug。。
回答策略:承认劣势(开发经验不足)+表达诚意(为做测试做了哪些努力)+说明自我优势+列举事实
10、你有没有收到其他面试
我觉得是不管有没有收到就说有,增加筹码