请问java中this的用法是不是没啥大用? 研究好久,似懂非懂?

参加Java培训有没有用?Java培训3大好处-沈阳中心新闻-中软国际卓越培训
24小时咨询电话:024-
学IT技术 &就到沈阳中软
当前位置: & 沈阳中心新闻 & 正文
参加Java培训有没有用?Java培训3大好处
https://mp.weixin.qq&& 12:55:21&&阅读:382
电话:024-
地址:沈阳市和平区南京北街21号远东大厦5层学习java几个月了,总是似懂非懂那样。。求有什么好的学习方法。。速见成效的。。先谢谢能帮我的仁兄_百度知道
学习java几个月了,总是似懂非懂那样。。求有什么好的学习方法。。速见成效的。。先谢谢能帮我的仁兄
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
fengshixiaolou知道合伙人
fengshixiaolou
采纳数:93
获赞数:377
很正常,一开始学的东西理论的东西太多,其实java的基础你这个状态我感觉就可以了,懵懵懂懂,然后现在你这个情况就需要把你那层懵懵懂懂似懂非懂的雾化开-----多练使命的敲代码,可以先模仿一些简单的例子,照着敲,不要copy,一个一个的敲过去,你就会对例子中的一些知识有比较深的理解先敲一些小的例子,小的练习题感觉稍微好点后,敲一个稍大的,可以说是综合题,弄一个简单的系统,比如简单的“学生管理系统图书管理系统等(网上很多,或者你学这个书上肯定也有,照着敲,敲完后可以揣摩揣摩)”,包含最基本的增删改查操作就可以,弄完之后应该会有更深的体会,每一行代码做什么用,一些类的方法的使用都会有更深的印象我大学即将毕业那会也是那样,感觉学的东西太多有点蒙,然后从”学生管理系统“这个例子开始敲,理解的多了,到毕业设计那会,弄了个餐饮管理系统,网上找了点资料,就开始能自己敲了,自己有什么想法都可以实现以上纯属个人经历,可以借鉴,不喜勿喷
zir48817知道合伙人
采纳数:1364
获赞数:5858
我所看到的视频。所以,作为您的进展,但收效甚微,但后来我改变了学习方法。无论是吸收的重头到尾的学习时间,然后,在没有急于回到以前的。这是很容易忘记。排除内存好。这时候,边干边学的过程中发现两个小例子。包括那些谁不。立即回头看视频。寻找信息。这双手在相同的时间,这样你就可以主动学习,非常美好的回忆。不容易被遗忘。更多的效果比单回。 。 。工作,培养他们的自我学习能力。期待你的成功
a11e90知道合伙人
来自知道合伙人认证行家
知道合伙人
采纳数:473
获赞数:1381
毕业于石家庄学院计算机科学与技术专业,学士学位。从事IT行业4年,现任华媒康讯技术架构师。
初学者 最有效的方法就是看视频入门 然后疯狂敲代码 不懂也敲 因为敲多了就懂了推荐马士兵的初级视频
网上很多 然后自己写一些小程序比如 坦克大战 贪吃蛇
许多。。。然后在确定自己走j2me还是j2ee
嗯。。谢谢说的确实挺行用。。。。应该走j2ee吧
走j2ee 可以看看这份学习规划 仅供参考
你好吗mylove知道合伙人
你好吗mylove
采纳数:118
获赞数:318
哪有速成的!最重要的是多练,这样有助于理解。边看书边敲代码,还要边思考。
黎勇老大知道合伙人
采纳数:27
获赞数:153
学习程序语言没有捷径,最有效最靠谱的方法就是写程序,从最基础的开始写。实践中碰到的那些问题会让你对java有较深的理解,谢谢采纳
弑魔小尊知道合伙人
说句老实话就是多练
其他3条回答
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java ssm 短信验证注册
最近在研究的一个项目中,涉及到了短信的验证注册,之前没涉及到这个方面,看别人的博客也是似懂非懂的,于是将用第三方平台做的短信发送验证码注册功能记录下来,以便以后查看。
短信验证注册思路1.点击发送短信按钮2生成验证码;3.将生成的验证码+手机号放入缓存,值为验证码以便区分不同的手机号;(设置好缓存时间)4.从数据库 中查找手机号是否被注册,如果没有被注册调用短信模板发送短信;5.点击注册,将手机号,验证码作为参数传到后台;6.将前台传到后台的手机号+验证码 比对是否一致 ;一致注册成功,不一致注册失败我在这里用的第三方平台是中国网建SMS短信通()注册后 点击修改短信密匙就可以查看到你自己账号的短信密匙然后开始项目,我在这里用的是ssm框架 这里要下载三个jar包commons-logging-1.1.1.jar,commons-httpclient-3.1.jar,commons-codec-1.4.jar
附上百度网盘链接: 密码:tpze代码 注册页面:index.jsp&%@ page language="java" contentType="text/ charset=utf-8"
pageEncoding="utf-8"%&
&%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%&&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&&html&&head&&meta http-equiv="Content-Type" content="text/ charset=utf-8"&&title&Insert title here&/title&&/head&&body&&script& function send(){
var phone= document.getElementById("phone");
var number= phone.
window.location.href="&%=path%&/sendme.action?phone="+ }&/script&&form action="comparecode" method="post"& 手机号:&input type="text" name="phone"
id ="phone" value="${phone }"&&br& &input type="button" value="发送验证码" id="button" onclick="send()" &&br&${flag }${flag1 } 验证码:&input type="text" name="code"&&br& &input type="submit" value="注册"&&/form&&/body&&/html&结果返回页面result.jsp&%@ page language="java" contentType="text/ charset=utf-8"
pageEncoding="utf-8"%&&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&&html&&head&&meta http-equiv="Content-Type" content="text/ charset=utf-8"&&title&Insert title here&/title&&/head&&body&${result}&/body&&/html&SendService.javapackage com.text.import java.util.Limport javax.annotation.Rimport org.springframework.stereotype.Simport com.text.dao.SendDimport com.text.model.PhoneM@Servicepublic class SendService {
private SendD
//查找手机号是否被注册
public boolean selectPhone(String phone){
boolean flag =
List&PhoneModel& phonenumber = dao.select(phone);
if(phonenumber!=null){
//注册手机号
public void add(PhoneModel phone){
dao.add(phone);
}//连接第三方平台
短信模板 生成验证码 工具包如果对于HttpClient(http协议)不了解的可以看下SendMessage .javapublic class SendMessage {
public static
HashMap&String,String& getMessageStatus(String phone) throws HttpException, IOException{
HashMap&String,String& m = new HashMap&String,String&();
//http协议
HttpClient client = new HttpClient();
//连接第三方平台
PostMethod post = new PostMethod("http://gbk.api.smschinese.cn/");
post.addRequestHeader("Content-Type","application/x-www-form-charset=gbk");//在头文件中设置转码
//生成六位验证码
String charValue = "";
for (int i = 0; i & 6; i++) {
char c = (char) (randomInt(0, 9) + '0');
charValue += String.valueOf(c);
//短信模板
NameValuePair[] data ={
new NameValuePair("Uid", "wy123"),
//sms短信通 注册的用户名
new NameValuePair("Key", "eba3604c3"), //密匙
new NameValuePair("smsMob",phone),//要发送的手机号
new NameValuePair("smsText","验证码:"+charValue+",发送")//短信内容
post.setRequestBody(data);
client.executeMethod(post);
//获取http头
Header[] headers = post.getResponseHeaders();
int statusCode = post.getStatusCode();
System.out.println("statusCode:"+statusCode);
for(Header h:headers){
System.out.println(h.toString());
//获取返回消息
String result = new String(post.getResponseBodyAsString().getBytes("gbk"));
System.out.println(result); //打印返回消息状态
//将返回消息和6位数验证码放入到m列表里面
m.put("result", result);
m.put("code", charValue);
//断开与第三方平台的连接
post.releaseConnection();
//生成验证码
public static
int randomInt(int from, int to) {
Random r = new Random();
return from + r.nextInt(to - from);
}//查找是否被注册,发送短信 ,注册send.javapackage com.text.import java.io.IOEimport java.util.HashMimport javax.annotation.Rimport javax.servlet.http.HttpServletRimport javax.servlet.http.HttpSimport org.apache.commons.httpclient.HttpEimport org.springframework.stereotype.Cimport org.springframework.web.bind.annotation.RequestMimport org.springframework.web.bind.annotation.RequestMimport org.springframework.web.bind.annotation.RequestPimport org.springframework.web.bind.annotation.ResponseBimport org.springframework.web.servlet.ModelAndVimport com.text.model.PhoneMimport com.text.service.SendSimport com.text.util.SendM/** * @author 宇神 * 从数据库查找是否被注册 * 如果没被注册{ * 发送短信,保存验证码到缓存 * }else{ *
返回注册页面 * } *
将输入的验证码与缓存中的验证码比对 *
如果一致{ *
}不一致{ *
*/@Controllerpublic class Send {
@Resource private SendS
@ResponseBody @RequestMapping(value="sendme" ,method = RequestMethod.GET) public ModelAndView sendme(@RequestParam(value="phone") String phone,
HttpServletRequest request) throws HttpException, IOException{
ModelAndView model = new ModelAndView();
if(service.selectPhone(phone)){//查找是否被注册
HashMap&String, String& m = SendMessage.getMessageStatus(phone); //应用发送短信接口
String result = m.get("result");
//获取到result值
if (result.trim().equals("1")) {
String code = m.get("code");
System.out.println(code+"============================================================================");
HttpSession
session = request.getSession(); //设置session
session.setAttribute(phone+"code", code);
//将短信验证码放到session中保存
session.setMaxInactiveInterval(60 * 3); //缓存设置3分钟
model.addObject("flag", "短信发送成功");
model.addObject("flag", "短信发送失败,请重试");
model.addObject("phone", phone);
model.setViewName("index");
model.addObject("flag1", "该手机号已被注册");
model.addObject("phone", phone);
model.setViewName("index");
@RequestMapping(value="comparecode" ,method = RequestMethod.POST) public ModelAndView comparecode(@RequestParam(value="code") String code,PhoneModel pmodel,HttpServletRequest request){
ModelAndView model = new ModelAndView();
//从session中比对发送的验证码
HttpSession
session = request.getSession();//设置session
String sessioncode =(String) session.getAttribute(pmodel.getPhone()+"code");
System.out.println(sessioncode);
if((code).equals(sessioncode)){//比对缓存
service.add(pmodel);
model.addObject("result", "注册成功");
model.addObject("result", "验证码不正确 ,注册失败");
model.setViewName("index");
model.setViewName("result");
} }成功后返回控制台的信息输入重复手机号
不会发送短信
短信验证码接口的实现
ssm框架下手机验证码、图片验证码的实现
java实现发送手机验证码
短信验证码实现流程
java 如何实现登陆和注册的验证码功能
SSM带验证码登录
SSH2框架实现注册发短信验证码实例
SSM框架下的注册验证
没有更多推荐了,标签: 实习 面经 Java研发 阿里、腾讯、华为
找2017暑假实习,经历过被腾讯拒绝的无奈,也有拿到阿里和华为offer的喜悦,找实习过程也有一段时间了,在此把之前的面试知识点和经历做个小总结,以鞭策自己更加努力前进。
腾讯投的是研发岗位,原来就知道对于Java系的人想去腾讯搞研发估计难度太大,但这次自己是切切实实体会到了。3月初,请教了在腾讯工作的师兄把简历改了又改,由N页浓缩为一页的精华,师兄帮忙内推之后过了好久都没消息,最后发现简历评级太低(B级),没过,实在是很忧伤。据说简历评级在A以上才有机会面试,自认为个人虽然不是大神级别的水平但能力还是有的,简历不至于被残忍丢掉吧。其他同学是Java系的也有简历顺利过的,后面一对比,人家除了搞Java外,还对PHP、python、C++等非Java系语言有项目开发经验,我就纯Java,有可能有这方面的因素。当然也有可能确实是简历没有写好。就在放弃腾讯之际,腾讯社交网络质量部却给我发了邮件表示接收了我的简历。经了解这是腾讯的一个测试部门,虽然不会去但是抱着学习长经验的心态,于是就有了接下来的测试和面试。
社交网络质量部专项笔试:
题目1:有用户反馈手机QQ的图片传输的速度比微信慢。分析原因并提交实验数据和最终报告。
题目2:有用户反馈手机QQ的耗电比微信多。分析原因并提交实验数据和最终报告。
笔试二选一,三天内完成。
表示之前没有过类似的抓包分析经验,但是直觉告诉我可以去干。然后选择了题目一,手机系统是ios的,抓包工具用了fiddler和Wireshark。借同学的手机平板,用iPad和iphone开了几个微信小号和QQ小号分别做抓包分析,也让同学在移动网和室内wifi不同环境做了相应的测试。最后得到的结果是微信mmtls和QQ https所使用的安全协议直接或间接导致的。提交报告后得到的回应是确实有这方面的原因。笔试通过后等了2周接到面试。
腾讯面试都是现场面试。
1)问:自我介绍。
2)问:印象最深的项目。谈谈你的贡献和解决的技术难点。
这里面由项目展开,一连串的追问。比如他会问你项目哪里最难,怎么解决的,执行效率如何,有没有出现什么问题,怎么样处理,如何维护和升级等等。需要对个人做的项目比较熟悉,平时对项目多思考才可以答得好这些问题。我对自己做过的项目还是比较熟悉的,所以回答的感觉良好。这里聊了十多分钟。
3)问:你之前做过的社交网络质量部专项笔试【有用户反馈手机QQ的图片传输的速度比微信慢】,你当时是怎么思考和行动的?
这里就开始聊之前做的笔试,回答方向主要集中在怎么设定实验环境、怎么实现抓包及分析哪些关键内容、最后如何得出结论等等。最后面试官说这个题目其实是有一定难度的,我提交的报告的结论确实是有那方面原因(内心嘚瑟了一下,起码答案是通过了^^)。
4)问:现场写出使用递归逆序一个整数的代码。
面试官给了我纸和笔,询问了一些边界问题和具体要求后就开写了。这里需要注意的是面试现场写代码,首先自己不要慌张,要沉住气相信自己,其实题目不是很难的,冷静下来一般可以写出来。这也说明我们平时有机会还是要在纸上写写代码,不至于那么陌生。
5)问了一道智力题。
心里是千万只草泥马在奔腾的,面试的时候问智力题真是要坑人啊。这种问题要是不会就很难自己想出来的,不过可以换个角度思考问题,面试官人家不一定非要你回答出来,说不定更多的是考察你对问题的思考方式和过程,有什么疑惑的地方和面试官交流,你可以引导让他给你问题范围,甚至是给出答案的提示等等。总之智力题之类的,除非平时刷中题目,不然还是好好思考不知道结果时怎么回答才能让面试官印象也不错吧。
6)问:你有什么问题想要问的吗?
问自己想知道的问题,要表现得真诚、积极、有上进心、有求知欲。最后在面试前针对性的准备一些合适的问题。
一面面了四十多分钟。可能是测试岗位的原因,并没有问很多具体技术的问题。
第三天收到二面的通知,很不幸在前一天吃错东西搞得上吐下泻,还发烧了。顶着疲惫的身躯去二面,感觉是不太妙的,但是心想这次面试本来就是抱着学习长经验的态度来的,个人也不希望最后选择测试岗位,心里就平衡了一些。
1)问:请作一下自我介绍。
2)问:说出对Java内存分配的机制。
3)问:JVM垃圾回收的主要算法。
4)问:收获最大的项目是哪个,为什么?
结合自身项目谈吧。
5)问:对TCP/IP的理解。是否有相关的项目经历?
这里主要想考察你对计算机网络的相关协议的熟悉程度。平时要针对复习。
6)问:你对未来的规划是什么样的?
从理想、学习、就业、家庭、生活等各个方面说自己的规划和行动。
7)问:你有什么想问我的吗?
这种问题需要提前做些功课,准备一下。
由于身体原因,个人二面面试的时候状态不是很好。面试过程面试官让人觉得很舒服,这可能和腾讯的企业文化有关吧。临走之前面试官说会有人联系我进行最后一轮终面,但是最后却没有收到面试的通知,而是收到【岗位不合适】信息,可能面试官看出了我的心思最后改变了主意吧。有点小遗憾,不过本来也不打算去,经验已经赚到了。
阿里的面试都是电话面试,前后经历了4次面试,每次面试时间长度都在40至50分钟左右,从3月底到4月底也经过了一个月才出结果。
1)问:请作一下自我介绍。
答:结合自己教育经历、项目、技能简要介绍,重点突出自己的特点和特长。
2)问:请说说什么是事务?
答:我回答时突出事物原子性操作,要么都做,要么撤销回滚都不做。
问:详细介绍事务的ACID特性。
答:分别介绍原子性、一致性、隔离性和持续性(持久性)四大特性内容。
3)问:对乐观锁和悲观锁的理解。
答:当时对这一部分内容不是很了解,但是大概说出了自己的理解。悲观锁是在并发环境中操作的时候,假设每一次操作都会有并发进行,每次执行都需要加锁解决潜在的多线程并发问题,在执行的时候比较“悲观”,认为操作都会遇到并发问题。相反乐观锁在执行的时候就比较“乐观”,认为操作时不会或很少遇到并发问题,所以只在最后提交操作的时候检查和处理并发问题。
问:介绍它们是如何实现的。
答:我回答的时候举了数据库乐观锁和悲观锁的例子。悲观锁通过加上表锁、行锁、读锁和写锁等实现,乐观锁通过版本控制(使用时间戳或递增的整数)等手段实现该机制。
4)介绍Java的集合,list、set和map的区别。
答:从它们的作用、用法、底层的数据结构、初始化容量和扩容规则、被继承的父类、是否多线程安全等角度去回答。
5)问:HashMap和HashTable的区别。
答:这里和回答集合类的思路是类似的。
问:HashMap底层是由什么数据结构实现的?
答:使用哈希表实现,用链地址法处理冲突碰撞......
问:那么HashMap如何实现具体的底层put操作和get操作,请详细介绍。
答:HashMap内部使用Entity对象存储键值对,先说put操作......
问:好,那HashMap是线程安全的吗?
答:非线程安全的。
问:那你如何实现HashMap的线程安全?
答:使用Collections集合包装类的静态方法synchronizedHashMap包装,实现hashMap的线程安全......
问:该方法实现的HashMap安全线程执行效率如何?
答:由于使用synchronize关键字实现同步,在多并发环境执行线程必须持有对象锁等才能执行同步代码,在大量并发时效率不高......
问:有没有执行效率更好的办法?
答:使用concurrentHashMap实现同步map,效率会更高。
问:好,说说看concurrentHashMap的实现机制,它为什么会效率更高?
答:concurrentHashMap使用锁分段技术实现同步机制,在并发时使用的锁粒度会更小,可以处理更大量的并发数......
hashMap这块追问了好久,幸好所以这部分内容还算比较了解,答得还算过得去。所以如果还有什么不会的,赶紧要熟知才行,最好是边看源码边体会其中的奥妙之处。
6)问:Java如何实现类加载?
答:根据类加载器的类别、作用以及类查找和加载等方面回答。
7)问:看你也做了不少项目,说说对你印象最深的一个。
答:结合自身项目回答,突出自己在其中的角色和起到的作用,自己的什么方法解决了什么问题,性能和效率怎么样,最后自己学到了什么,以后可以优化和升级的方向等。
8)二叉搜索树的查找时间复杂度?已排序数组查找一个元素的时间复杂度?
9)如果你和你同学在讨论项目的时候意见无法统一,你该怎么做?
10)你有什么问题想要问的吗?
二面主要就是面做的项目,简历上的项目都问了,而且有些地方还问的很细。所以既然你敢写上简历,那么上面的每部分内容都有比较清楚才行。
1)问:请做一个简要的自我介绍吧。
2)问:请你依次说说你做的每一个项目。
答:我在简历上写了三个项目,然后面试官一个一个项目慢慢问,而且问得很仔细。比如其中提到了一个定位算法,就问我是怎么设计的,根据什么如何有效建模,并且是怎么样验证算法有效性,如何处理边界特殊情况等等。一句话,简历上面出现的内容,自己是要真的要知道并且能说出所以然,如果是似懂非懂的内容,不是很建议写到简历,不然面试官一个简单追问就可能答不上来,就有点尴尬了。项目这一块大概面了二十多分钟,问得很详细,所以聊的时间久了一些。
3)问:在写shell脚本的时候,怎么样判断一个文件是否存在?
4)问:Linux系统下如何查看一个端口的占用情况?查看进程呢?
5)问:Linux系统下怎么样查看系统的运行状况?
这里我回答了top命令,然后就被追问loadaverage的几个数值的含义,还追问了这个命令其他操作。
6)问:如何修改主机名?如何查看本机的ip?
我在回答查看ip的时候说了ipconfig,面试官很友好的提醒让我再想想。这才尴尬地发现自己说成了Windows下的DOS命令,赶紧改口说出了ifconfig。这里不得不感慨一下阿里的面试官真是nice,让人感觉交流很舒服,丝毫没有高高在上的架子。
7)问:怎么样对数据库查询进行优化?
主要说了索引的优化,包括复合索引以及创建索引、使用索引关键字查询的顺序等该注意的问题。
8)问:说说你对concurrentHashMap的理解。
这个问题在一面的时候涉及到了,在那之后仔细看了这部分的源码和资料,所以这里回答得比较顺利。可见,concurrentHashMap是一个非常重要的知识点,需要特别关注。
9)问:JVM的内存结构?
这里需要对JVM有一定的了解,从JVM内存的Java栈、Java堆、本地方法栈、程序计数器、方法区的结构以及对应的作用等方面回答。
10)最后问了一道智力题,当时脑袋一时转不过来了,面试官很耐心的引导还是没有答出来,不过面试官很友好的告知了答案。
最后结束的时候面试官说让我等待接下来的面试,听到这个还是挺开心的,这意味着二面过了,准备三面吧。
三面等了一个多星期才来,某天晚上十点离开实验室的时候突然来了电话,不得不说阿里的面试官也是蛮拼的,这么晚了还要面试。
1)问:我是阿里巴巴的面试官,请你先作一下自我介绍。
自我介绍多了感觉回答的要点和套路都比较清楚了,这就是所谓的经验积累了。
2)问:说说对你印象或收获最多的项目。
结合自己的项目具体介绍,突出自己在项目中起到的作用和收获,最好说说自己在项目前、中、后是如何思考的。
3)问:你对未来是怎么样规划的?
4)问:你现在是在武汉,那么假设你是武汉市消防相关部门的负责人,没有任何数据的前提下你认为武汉需要部署多少个消防站?
这种题目应该是开放性的,个人觉得最重要的一点就是要表现出你是如何思考的。
5)问:你是如何与身边的人相处的?有矛盾的时候怎么处理?
6)问:你有什么想要问的吗?
三面聊了30到40分钟这样,没有涉及很多技术的问题,说的主要是项目和其他非技术问题,聊完之后面试官就让我等下一轮面试了。
等了一个多星期,某个晚上八点多终于等到了阿里HR的面试电话。
1)请作一下自我介绍吧。
2)你研究生是保研的吗?
3)从本科开始到研究生你是怎么学习的?有没有什么变化?
4)你平时的日常生活是如何安排的?
5)我看到你有参加过学院的篮球比赛,除了篮球外有没有什么爱好?你如何调节学习和娱乐的时间分配?
6)我看到你有班干部的经历,请问组织活动的时候你是如何组织同学保证活动有序进行的?
7)你对你自己的未来有没有什么规划?
8)你有什么想问的吗?
四面HR面的比较快,才三十多分钟就结束了。面试的时候感觉面试官比较急,可能是还要面试很多人吧。有些话我这边还没说完就被面试官抢过去了,明显感觉面试官在赶时间想要快点结束这一轮面试,不过阿里的HR MM也是辛苦,晚上还要加班面试。
焦急等待了接近一周之后,就收到阿里的offer了,这是找实习收到的第一个offer,瞬间觉得这前前后后2个月的准备也算是有了一份回报,马上抱起篮球怀着激动的心情和同学去了篮球场大战三百六十回合。
三月份经过华为的笔试(三道编程题),顺利进入面试环节。不过听说华为的笔试不刷人,反正面试现场人上人海的,热闹非凡。华为面试一天就结束,效率比较高,个人相对比较偏好这种一面试结束就可以知道结果的方式。
1)问:自我介绍。
2)问:interface和abstract class的区别。
从修饰类的关键字、类声明方式、类变量、方法体、继承、实现、功能及用法等方面阐述。
3)问:对关键字assert的理解。
断言机制。围绕测试时使用,项目发布时停用具体描述。
4)问:JVM的内存结构模型。
Java栈、Java堆、本地方法栈、方法区、程序计数器。
5)问:垃圾回收算法和执行机制。
主要有标记-清除、标记-整理、复制算法、分代回收算法等,和串行回收、并行回收等。
6)问:哪些对象在何时会被回收?如何精确定位具体的对象?
不再被引用的对象就会成为垃圾对象,即不在引用链上的对象将被回收,通过引用链可以确定垃圾对象。
7)问:GC ROOT对象有哪些?和引用链的关系怎么理解?
围绕静态对象、常量对象、方法区对象等分析。
8)问:如果是在方法里面创建的本地对象,它会创建在内存结构的哪个地方?如何访问该对象?
在Java栈的栈帧里面创建了对象的引用,在堆上创建了对象,栈帧里的引用指向堆中的对象。这里一开始的时候面试官描述的不是很清楚,交流的时候有了一些争论,随着讨论深入,问题范围缩小后就可以准确回答了。这里聊了十多分钟,最后面试官很满意的说了几个字“完全正确”,直接让我去下一轮面试了。
据现场了解,华为的一面刷人不少。在等待开始二面开始之前,被一个HR小姐姐带到机房去做测试去了。我以为是现场考编程,后面一看是做性格测试题,瞬间感觉有戏了。做完四十分钟的性格测试后准备二面,听说就是直接终面了。
面试官看起来就是部门位高权重的领导,看上去都有五十多了,年纪挺大的,一副领导的架子,感觉有点小压抑。
1)问:自我介绍。
2)问:对做过的项目做个简单介绍。
这里有些地方想详细深入讲解,面试官直接对我挥挥手,示意【不用】,此刻我的内心是翻腾的= =。
3)问教育经历。
4)问对未来的规划。为什么选择深圳?
5)问学生工作和班干部的经历
结合经历具体介绍,突出自己在决策、组织和领导等各方面的能力。
6)问兴趣爱好
我平时比较喜欢打篮球,也参加了学院组织的比赛,最后面试官和我聊起了NBA。还讨论了今年季后赛的几组对战,当时还是在季后赛首轮,面试官还让我预测东西部冠军,预测最后总决赛对战双方(汗颜)。
就这样二面结束了,注重的不是技术考察而是个人的综合素质。在我离开的时候,门口的工作人员让我回去等通知了,说是在十个工作日内会有通知。我知道,华为有戏!过了一个星期,收到了华为的offer。
最终决定实习去杭州。
阅读(...) 评论()}

我要回帖

更多关于 java编写一个接口 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信