哈啰Java实习一面

文章讲述了面试者在技术面试中被提问的问题,涉及实习经历、微服务理解、数据结构、依赖注入、XML配置、注解使用、项目实践和自我评估等内容,反映了求职者的技术水平和成长需求。

上来先询问小论文什么的有没有写完,学校里还有没有事情了。
1.对于实习有什么诉求?想通过实习获得什么?
2.对于微服务有哪些了解?
3.ArrayList和LinkedList的区别?
4.讲讲IOC的具体实现?
5.xml文件中的bean如果不通过注解你怎么去实现?
6.有没有自定义过注解?
7.两个项目是自己学着做的还是实习中的项目?一个人做的还是有别的成员?
8.第一个项目这是个什么平台?有哪些角色?
9.第一个项目的难点?
10.文件分片自己写的还是用的什么框架?都上传哪些文件,上传的视频有多大?
11.第二个项目有什么业务?

反问
1.部门的业务是什么?
2.这是暑期实习还是日常实习?
3.还有什么提高的地方?(也没什么需要提高的地方,该有的项目经验也有,就是对于一些问题的具象化能力可能需要提升一下,比如说开头问你的通过实习想获得什么)

全程二十分钟,前面一些基础问题太长时间没看回答的磕磕绊绊,估计面试官对我不感兴趣了,后面问的也比较随意基本就是聊天了。



作者:仙林第一深情
 

虽然没有直接关于哈啰Java岗位面试Coding环节考察题目类型的内容,但可以根据常见的Java面试Coding考察方向进行推测。通常会考察以下几种类型的题目: #### 算法与数据结构 - **排序算法**:如冒泡排序、快速排序、归并排序等。例如要求实现快速排序算法: ```java public class QuickSort { public static void quickSort(int[] arr, int low, int high) { if (low < high) { int pivotIndex = partition(arr, low, high); quickSort(arr, low, pivotIndex - 1); quickSort(arr, pivotIndex + 1, high); } } private static int partition(int[] arr, int low, int high) { int pivot = arr[high]; int i = low - 1; for (int j = low; j < high; j++) { if (arr[j] < pivot) { i++; int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } int temp = arr[i + 1]; arr[i + 1] = arr[high]; arr[high] = temp; return i + 1; } public static void main(String[] args) { int[] arr = {10, 7, 8, 9, 1, 5}; quickSort(arr, 0, arr.length - 1); for (int num : arr) { System.out.print(num + " "); } } } ``` - **链表操作**:如链表的反转、合并两个有序链表等。以下是链表反转的示例代码: ```java class ListNode { int val; ListNode next; ListNode(int val) { this.val = val; } } public class ReverseLinkedList { public static ListNode reverseList(ListNode head) { ListNode prev = null; ListNode curr = head; while (curr != null) { ListNode nextTemp = curr.next; curr.next = prev; prev = curr; curr = nextTemp; } return prev; } public static void main(String[] args) { ListNode head = new ListNode(1); head.next = new ListNode(2); head.next.next = new ListNode(3); ListNode reversedHead = reverseList(head); while (reversedHead != null) { System.out.print(reversedHead.val + " "); reversedHead = reversedHead.next; } } } ``` #### 面向对象编程 - **设计模式**:如单例模式、工厂模式等。以下是单例模式的示例代码: ```java public class Singleton { private static Singleton instance; private Singleton() {} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } ``` #### 多线程编程 - **线程同步**:如使用`synchronized`关键字实现线程同步。以下是一个简单的线程同步示例: ```java class Counter { private int count = 0; public synchronized void increment() { count++; } public int getCount() { return count; } } public class ThreadSynchronization { public static void main(String[] args) throws InterruptedException { Counter counter = new Counter(); Thread t1 = new Thread(() -> { for (int i = 0; i < 1000; i++) { counter.increment(); } }); Thread t2 = new Thread(() -> { for (int i = 0; i < 1000; i++) { counter.increment(); } }); t1.start(); t2.start(); t1.join(); t2.join(); System.out.println(counter.getCount()); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lozhyf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值