黑马程序员技术交流社区

标题: JavaEE 面试的一点分享 [打印本页]

作者: 936994215    时间: 2016-6-20 20:07
标题: JavaEE 面试的一点分享
我是走流程考完入学考试报的面试,只有2天时间,由于本人 大四事情特别多,没法好好的去复习Java基础,打算抱着侥幸的心理面试看看效果。面试是这样的,上来给2道编程题如下图

2道编程题共30分,时间50分钟。
不让查看参考任何资料。
第一题,由于
  1. <div>Class.forName("com.mysql.jdbc.Driver");</div><div>String url = "jdbc:mysql://localhost:3306/test";</div>
复制代码
这中间的两个字符串记不得,直接到底身亡。
第二题,很简单,由于第一题的冲击波太大,影响了第二题的发挥,随机数竟然使用java.util.Random,直接面试失败。
接下来给出这两个面试题的答案:
1.
  1. <div>package Test;</div><div>
  2. </div><div>import java.sql.Connection;</div><div>import java.sql.DriverManager;</div><div>import java.sql.PreparedStatement;</div><div>import java.sql.ResultSet;</div><div>import java.sql.SQLException;</div><div>import java.util.ArrayList;</div><div>import java.util.Iterator;</div><div>import java.util.List;</div><div>
  3. </div><div>class Student {</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>private String name;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>private int age;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>private int score;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>public String getName() {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>return name;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>public void setName(String name) {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>this.name = name;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>public int getAge() {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>return age;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>public void setAge(int age) {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>this.age = age;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>public int getScore() {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>return score;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>public void setScore(int score) {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>this.score = score;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div>}</div><div>public class Test1 {</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>public static Connection getConnection() throws ClassNotFoundException, SQLException {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>Class.forName("com.mysql.jdbc.Driver");</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>String url = "jdbc:mysql://localhost:3306/test";</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>String user = "root";</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>String password = "123456";</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>return DriverManager.getConnection(url, user, password);</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>public static List<Student> getStudents() throws </div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>ClassNotFoundException, SQLException {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>List<Student> list = new ArrayList<Student>();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>String sql = "select * from tb_stu";</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>Connection conn = getConnection();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>PreparedStatement ps = conn.prepareStatement(sql);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>ResultSet rs = ps.executeQuery();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>while(rs.next()) {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>Student s = new Student();</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>s.setName(rs.getString("name"));</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>s.setAge(rs.getInt("age"));</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>s.setScore(rs.getInt("score"));</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>list.add(s);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>return list;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>public static void main(String[] args) throws ClassNotFoundException, SQLException {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>List<Student> list = getStudents();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>//1.</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>for(Student s : list) {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>System.out.println(s.getName()+","+s.getAge()+","+s.getScore());</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>//2.</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>Iterator i = list.iterator();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>while(i.hasNext()) {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>Student s = (Student)i.next();</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>System.out.println(s.getName()+","+s.getAge()+","+s.getScore());</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div>}</div>
复制代码

2.
  1. <div>package Test;</div><div>
  2. </div><div>import java.util.Random;</div><div>import java.util.Scanner;</div><div>
  3. </div><div>public class Test2 {</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>public static void main(String[] args) {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println("请输入一个字符串");</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>Scanner scan = new Scanner(System.in);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>String str1 = scan.nextLine();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println("请输入想要查找的字符");</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>String str2 = scan.nextLine();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>for(int i=0; i < 4; i++) {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>if(str1.contains(str2)) {</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>System.out.println(str2+"出现的位置是:"+str1.indexOf(str2)+" 次数:"+ times(str1,str2));</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>System.exit(0);</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>else {</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>System.out.println("请重新输入");</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>str2 = scan.nextLine();</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>char c = str1.charAt((int)(Math.random()*str1.length()));</div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println("由于5次输入均错误,所以随机选择了一个字符" + c);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>System.out.println(c+"出现的位置是:"+str1.indexOf(c)+" 次数:"+ times(str1,c+""));</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">        </span></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>/**</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> * 一个字符ch在字符串str中出现的次数</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> * @param str</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> * @param ch</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> * @return</div><div><span class="Apple-tab-span" style="white-space:pre">        </span> */</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>private static int times(String str1, String str2) {</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>int sum = 0;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>char[] cha = str1.toCharArray();</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>for(int i=0; i<str1.length(); i++) {</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>if(cha[i] == str2.toCharArray()[0])</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>sum++;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>}</div><div><span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>return sum;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div>}</div>
复制代码
给我面试的是盖洪晓老师,老师说了,后面还有理论知识题20分。
每人有3次面试机会,12两次相等,第3次需要重新走流程。
面试内容涵盖:面向对象 集合 线程 IO 反射 jdbc  mysql http(没有网络编程和GUI)
这次失败主要由于没有做好准备,下次我会准备好的,黑马,等我!


作者: 痴爱一生    时间: 2016-6-20 22:07
66666666666,赞一个
作者: 流离岁月    时间: 2016-6-20 22:40
1024个赞
作者: 淹忆    时间: 2016-6-21 21:40
赞。。。。。。。。。。。
作者: demon凯    时间: 2016-6-21 23:30
点赞 楼主加油
作者: 936994215    时间: 2016-6-22 15:26
由于代码显示有问题,重新弄一下!
  1. import java.sql.Connection;
  2. import java.sql.DriverManager;
  3. import java.sql.PreparedStatement;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.util.ArrayList;
  7. import java.util.Iterator;
  8. import java.util.List;

  9. class Student {
  10.         private String name;
  11.         private int age;
  12.         private int score;
  13.        
  14.         public String getName() {
  15.                 return name;
  16.         }
  17.         public void setName(String name) {
  18.                 this.name = name;
  19.         }
  20.         public int getAge() {
  21.                 return age;
  22.         }
  23.         public void setAge(int age) {
  24.                 this.age = age;
  25.         }
  26.         public int getScore() {
  27.                 return score;
  28.         }
  29.         public void setScore(int score) {
  30.                 this.score = score;
  31.         }
  32. }
  33. class DbUtil {
  34.         public static Connection getConnection() throws ClassNotFoundException, SQLException {
  35.                 Class.forName("com.mysql.jdbc.Driver");
  36.                 String url = "jdbc:mysql://localhost:3306/test";
  37.                 String user = "root";
  38.                 String password = "123456";
  39.                 return DriverManager.getConnection(url, user, password);
  40.         }
  41. }
  42. public class Test1 {
  43.         public static List<Student> getStudents() throws
  44.                                 ClassNotFoundException, SQLException {
  45.                 List<Student> list = new ArrayList<Student>();
  46.                 String sql = "select * from tb_stu";
  47.                 Connection conn = DbUtil.getConnection();
  48.                 PreparedStatement ps = conn.prepareStatement(sql);
  49.                 ResultSet rs = ps.executeQuery();
  50.                 while(rs.next()) {
  51.                         Student s = new Student();
  52.                         s.setName(rs.getString("name"));
  53.                         s.setAge(rs.getInt("age"));
  54.                         s.setScore(rs.getInt("score"));
  55.                         list.add(s);
  56.                 }
  57.                
  58.                 return list;
  59.         }
  60.         public static void main(String[] args) throws ClassNotFoundException, SQLException {
  61.                 List<Student> list = getStudents();
  62.                 //1.
  63.                 for(Student s : list) {
  64.                         System.out.println(s.getName()+","+s.getAge()+","+s.getScore());
  65.                 }
  66.                 //2.
  67.                 Iterator i = list.iterator();
  68.                 while(i.hasNext()) {
  69.                         Student s = (Student)i.next();
  70.                         System.out.println(s.getName()+","+s.getAge()+","+s.getScore());
  71.                 }
  72.         }
  73. }
复制代码

作者: 936994215    时间: 2016-6-22 15:27
第二题代码:
  1. import java.util.Scanner;

  2. public class Test2 {
  3.         public static void main(String[] args) {
  4.                 System.out.println("请输入一个字符串");
  5.                 Scanner scan = new Scanner(System.in);
  6.                 String str1 = scan.nextLine();
  7.                 System.out.println("请输入想要查找的字符");
  8.                 String str2 = scan.nextLine();
  9.                
  10.                 for(int i=0; i < 4; i++) {
  11.                         if(str1.contains(str2)) {
  12.                                 System.out.println(str2+"出现的位置是:"+str1.indexOf(str2)+" 次数:"+ times(str1,str2));
  13.                                 System.exit(0);
  14.                         }
  15.                         else {
  16.                                 System.out.println("请重新输入");
  17.                                 str2 = scan.nextLine();
  18.                         }
  19.                 }
  20.                
  21.                
  22.                 char c = str1.charAt((int)(Math.random()*str1.length()));
  23.                
  24.                 System.out.println("由于5次输入均错误,所以随机选择了一个字符" + c);
  25.                 System.out.println(c+"出现的位置是:"+str1.indexOf(c)+" 次数:"+ times(str1,c+""));
  26.         }
  27.        
  28.         /**
  29.          * 一个字符ch在字符串str中出现的次数
  30.          * @param str
  31.          * @param ch
  32.          * @return
  33.          */
  34.         private static int times(String str1, String str2) {
  35.                 int sum = 0;
  36.                 char[] cha = str1.toCharArray();
  37.                 for(int i=0; i<str1.length(); i++) {
  38.                         if(cha[i] == str2.toCharArray()[0])
  39.                                 sum++;
  40.                 }
  41.                
  42.                 return sum;
  43.         }
  44. }
复制代码

作者: bitwdh    时间: 2016-6-25 17:58
面试怎么感觉好难得样子?
作者: Jason.Wong    时间: 2016-6-25 20:16
面试的编程题现场可以用eclipse写吗?还是用笔记本写~~(听别人说有手写~)
作者: Ake丶    时间: 2016-6-25 23:00
最近也在复习中。共勉。黑马等我!!!!!
作者: 贼像样    时间: 2016-6-27 22:36
多谢楼主分享心得,祝成功
作者: perfect_class    时间: 2016-6-30 14:07
谢谢分享,感觉好难啊!
作者: 陈建    时间: 2016-6-30 15:12
够详细啊,赞一个
作者: 新人—小明同学    时间: 2016-7-2 22:40
论坛有你更精彩{:3_51:}
作者: 610980097    时间: 2016-7-2 22:58
第二题不能使用Random?  这道题不让用Random吗?
作者: 936994215    时间: 2016-7-3 17:39
610980097 发表于 2016-7-2 22:58
第二题不能使用Random?  这道题不让用Random吗?

用的Math.random和Random有点不一样
作者: y506798278    时间: 2016-7-4 11:21
还有JDBC的啊,先留个名
作者: tyzf37    时间: 2016-7-4 21:17
赞楼主,下次加油,感谢分享
作者: ASDZZZ    时间: 2016-7-4 21:42
完全看不懂啊
作者: 雷雨天    时间: 2016-7-13 11:01
我给你32个赞
作者: 张作辉    时间: 2016-7-28 18:48
楼主很牛
作者: caolufo    时间: 2016-7-31 10:12
顶楼主,感谢分享,加油
作者: 明天你好hxq    时间: 2016-8-2 00:10
谢谢,看了题目心里有个底了
作者: 曹佳明    时间: 2016-8-8 17:54
这些自己都学过,但是写不出来,只能看懂,还是需要自己踏实的把代码都自己写几遍,理解。
作者: 曹佳明    时间: 2016-8-8 17:56
这些自己都学过,但是写不出来,只能看懂,还是需要自己踏实的把代码都自己写几遍,理解。
作者: 曹佳明    时间: 2016-8-8 17:58
这些自己都学过,但是写不出来,只能看懂,还是需要自己踏实的把代码都自己写几遍,理解。
作者: 哈韩浪子    时间: 2016-8-9 19:09
不错 学习到了
作者: 嘿girl    时间: 2016-8-14 12:11
面试感觉好难
作者: yangzhao    时间: 2016-8-15 09:13
楼楼面试能用eclipse吗?
作者: q291793758    时间: 2016-8-23 21:30
都DataBaseUtils工具了,工具类还不是随便找,谁还记
作者: Fightingdd    时间: 2016-8-24 20:46
赞一个!
作者: Rowan    时间: 2016-8-24 22:00
点赞,,,,,加油




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2