做出标题里理直气壮样的人,并不是我。
作为一个小白,我连忙制止他继续说下去”ちょっと待ってください!请问您说的JSP是Java语言究竟是什么意思?”希望大神能给我个解释。毕竟,在我的眼里JSP是HTML+Java,从简单的数学集合的角度来讲,JSP与Java语言划等号是不科学的。他心里可能带鄙视地说“你不信可以去问问你们老师,就说是我说的。”嗯,很鄙视面前这个小菜鸟,鄙视到不想给小菜鸟讲讲跟1+1=2难度差不多的问题。
之前,还遇到面试官担心得最多的问题是,女生做Java开发很辛苦,会不会抗不下来。(Excuse me?)怎么不去做测试或者前端呢。(EXCUSE ME? 请问测试前端很容易还是怎么的……?)还有人说,女生能在这一行发展下去的基本上都是特别特别拔尖的。谁还不是个人还是在咋的,就不允许女生如50%以上的男性程序员那样能力平平了吗……
说出来超心塞的,我做梦都想着有朝一日能成为一名触啊。(迷茫地吟唱中……)
我不担心自己干不下来男生写得了的代码加的了的班,我只是担心自己能力确实不够。(我不讨厌学习不讨厌学习新东西,只是最近,没工作才是最大的石头,解决这块石头之前,真的很难集中精力来吧啦吧啦地学Linux和Redis。)在这片IT技术荒漠里,我摸黑了这么就还是找不到工作。_(´ཀ`」 ∠)_(虽然承认一下都丢人得要死,最近愈发地觉得自己应该正视一下这个问题了。OTZ)
因为闲得内心的忐忑一刻也停不下来,于是整理整理之前的面试问题。
Java基础知识板块真的糟糕透了。自己的饭碗都搞得云里雾里的,写到这里,就稍微地鄙视一下自己吧。= -=
- 提醒我应该刷刷面试题的好好先生A
- Java基本数据类型
我答曰:…… String……
面试官提醒我问到,String是基本数据类型吗?反射弧超长的我,回到家才想起来刚刚那个愚蠢的我漏掉了byte,int的其他两种以及……char - 接口和抽象类的区别
(迷茫脸)
在网上查询了之后才知道这个问题问的啥(´・ω・`)
条条款款罗列清晰+Java8特性的解答
Interesting ideas- An interface is a contract: The guy writing the interface says, “hey, I accept things looking that way”, and the guy using the interface says “OK, the class I write looks that way”.
- An interface is an empty shell, it’s just a pattern.
- Abstract classes, unlike interfaces, are classes. (!!!!!)
- Java基本数据类型
- 标题来源给了我一条很好建议的B
他问的问题我不太记得了,大概说了他们公司不是用JSP,而是直接HTML+Ajax。
他说了那么多,我就记住了他一个好。他说,平时遇到的问题要记录下来,不然之后遇到还是不会。(我当时应该把包包里的草稿本兼笔记本掏出来给他看看的。)
我也并不是一个记仇的家伙,但每每想到他那“你这都没学好,滚回学校问问你的老师吧”的语气,我决定把他在我人生当中的那一点点启发的记忆给抹掉了。
- 重头戏这个和那个的区别这个和那个相比优缺点是什么的C
这是个很长的List ;W;
1. Vector与AarrayList的区别
没有特殊需求的话请用AarryList① Vector是同步的,AarryList不是。
多线程同时访问ArrayList时,我们必须在外部同步代码块(更新列表接口或者仅仅是修改单个元素)What??
② 数据空间增长方式不一样。
两者都是使用数组来存储内容,元素插入到数组里,若空间不够的情况下,Vector默认是将空间扩展至原来的两倍(增加一倍),而ArrayList是增加原来的50%,即扩展空间到原来的3/4。
Reference
2. HashMap与Hashtable的区别
① Hashtable is synchronized, whereas HashMap is not. What does ‘synchronized’ mean? 同步是什么鬼?
② Hashtable does not allow null keys or values. HashMap allows one null key and any number of null values.② Hashtable不允许有空键和空值,HashMap允许一个空键(Key嘛!)且空值不限制。
③ One of HashMap’s subclasses is LinkedHashMap, so in the event that you’d want predictable iteration order (which is insertion order by default), you could easily swap out the HashMap for a LinkedHashMap. This wouldn’t be as easy if you were using Hashtable.
③ HashMap有个叫做LinkedHashMap的子类,如果你想要可预测的迭代顺序(即默认的插入顺序),你可以超方便地将HashMap变成LinkedHashMap来用。Hashtable可没那么好使。
如果不需要同步的话,推荐使用HashMap。如果需要同步的话,你也可以试试 ConcurrentHashMap。再如果,你希望HashMap线程安全,那就用Collections.synchronizedMap()方法。
Reference
3. 继承的网
Q: 接口可以继承接口吗?
A: 可以。extends
Q: 抽象类可以实现接口吗?
A: 可以。(比如java.util中的AbstractCollection类就是实现的Collection接口)
Q: 抽象类可以继承实体类吗?
A: 行√
~咳咳咳,这里是不是还差一个接口是否可以继承抽象类。~~
4. 数据库存储过程的优缺点
Advantages
① 能减少不必要的数据传输,从而减少客户端到与服务器之间的网络使用。
② 更安全:数据库管理员可控制谁有权访问存储过程。(What?
③ 减少开发成本,增加可靠性。(What?
④ 可通过调整存储过程来提高性能。当再次执行同一存储过程时,可以使用之前的缓存执行计划。(What?
⑤ 抽象或分离客户端与服务器端功能。(What?
⑥ 用安全又统一的方式来访问其他数据库对象。(What?
⑦ 防止SQL注入攻击。(It makes sense.)
⑧ Unit testable.
⑨ 封装业务逻辑,减少因客户端程序的错误导致的数据损坏的几率。
Drawbacks
① Writing and maintaining stored procedures requires more specialized skills.
② There are no debuggers available for stored procedures.
③ Stored procedure language may differ from one database system to another.
④ Poor exception handling.
⑤ Tightly coupled to the database system. (耦合紧密)
⑥ Not possible to use objects. (what??)
⑦ Sometimes it is hard to understand the logic written in dynamic SQL.
5. JDBC操作数据库的步骤。Statement和PreparedStatement的区别。
Click!
What are the differences?
java.sql.Statement java.sql.PreparedStatement 执行静态SQL语句 执行预编译(precompiled)SQL语句 运行时不能接受参数 反复执行,可在运行时接受参数 更慢 更快 无协议 non sql binary协议。
In binary protocol communications to the server is faster because less data packets are transferred.更适用于执行DDL(Data Definition Language)-Create, drop, alter, and truncate. 更适用于执行DML(Data Manipulation Language)命令-select, insert, update, and delete. 不能用来储存/检索图片和文件(i.e. 使用BLOB-Binary Large Object, CLOB-Character Large Object数据类型) ←我可以!(●’◡’●) 没有setArray方法 可以使用setArray方法设置java.sql.Array。
While sending it to database the driver converts this java.sql.Array to an SQL ARRAY.强制执行SQL注入 java.sql.PreparedStatement prevents SQL injection, because text for all the parameter values is escaped in java JDBC.(转义) 不提供addBatch()方法,只有addBatch(String sql)
因此,相同的SQL查询不能重复执行继承了Statement的所有方法,还添加了addBatch()方法。
addBatch() method-将一组参数添加到PreparedStatement对象的批命令中。
因此,相同SQL查询也可反复执行可读性不强- -什么鬼!需要连接SQL语句字符串QAQ 可读性更强,更容易理解,运行的时候可以传不同的参数 None. java.sql.PreparedStatement provides methods like getMetadata() and getParameterMetadata().
getMetadata() - Method retrieves ResultSetMetaData object that contains information about the columns of the ResultSet object that will be returned when PreparedStatement object is executed.
getParameterMetadata() - method retrieves the number, types and properties of PreparedStatement object’s parameters in java JDBC.Reference
6. Singleton单例类的例子。
单例分为五种:懒汉,恶汉,双重校验锁,枚举和静态内部类。
Click!
7. Struts2与Spring MVC的区别。
8. Hibernate与MyBatis的区别。
Click! LOADING
9. Spring MVC与JSP的区别。
上瘾了还是在咋的?
10. 数据库检索的作用。
LOADING…
整日都是一副很废柴的样子,时而提心吊胆,想要当当鸵鸟把头埋进沙子里;时而在某处找到一点点鸡汤,心理安慰自己说,肯定能找到归宿的。
而现在呢,什么也没想,就想着自己破天荒主动买了一条牛仔裤。OTZ
嘛,一想到因为无业导致的种种,比如天晴的蓝天白云阳光,都不是自己的,也挺难过的辣。