58 (转转) JAVA开发岗一面
58视频一面:
#Java工程师#
1 首先是自我介绍,提前背过的
中间提到了会看开源项目,问我都看什么,我回答了经常看前沿的技术,Spring Cloud
2 Java基础,ArrayList和Linkedlist的区别
回答了实现方式,使用效率,使用场景
还问到了ArrayList的扩容机制
ArrayList和LinkedList哪个是线程安全的(知道ArrayList不是,但是忘记了后一个是不是,就说LinkedList是的)
蠢哭!!
3 问了个算法设计
58同城上发帖流程中,为保护发帖人隐私和减少骗子的通讯方式曝光,帖子中涉及到明显的手机联系方式都会隐匿。怎么在大文本中快速删除手机号码(一个或多个)?要求快速、尽量节省内存并且尽量减少误判。
4 多线程
创建线程的方式,线程的状态场景状态,哪些状态会继续占用系统资源(回答了sleep)
大神请忽略这些简单问题
===================================
之前提到了JDK1.5,就问到了concurrent包。问题是cuncurrent中有哪些类?
回答了线程池,线程调度,常见的锁,CountDownLatch、CycliBarrier等
然后在这里面挑了几个问题,说说你用过的线程池,以及固定融容量线程池的细节
说说CycliBarrier的细节
这一块没有仔细理解,不会的直接就说不会了....
6 问linux了解不,说了一些简单的指令
7、操作系统性能监控指标,回答了内存,其实是想往JVM上引的,没有成功....
如何使用linux排查内存溢出?(回答了Java性能监控工具)
8、操作系统的信号量机制
================================
补充几个问题:
1、给一系列url地址,如何进行去重
回答了set、哈希表和字典树
2、三次握手和四次挥手,4次挥手是否可以减少一次
3、操作系统性能监控指标
4、Linux下如何分析一段程序的内存溢出,相关指令
最后我问了下自己的不足,后续需要提高的地方,感觉面试官是做基础平台架构的,回答很宏观
整个过程感觉面试官很友善,面带微笑。但是觉得不好的是,他抛出问题之后,就只是回答嗯,没有对我的回答做任何的评价和指引,只是简单的一问一答,答不上来就过了,有些问题,我是想让他提示一下,然后思考思考的,甚至有些迫不及待,还没说完就进入下一个环节了。可能是觉得我太菜了,笑哭
然后继续问了一下,第三个算法设计题的思路
请各位看官给出一些答案,尤其是操作系统和linux内存相关的问题
下面我来回答一下第三个问题
面试官解释这个问题时,提到了算法效率,以及不要用replaceAll这些基础的方法?
一开始想到了扫描法,但是被问题中提到的时间、空间复杂度指歪了.....想到数据结构和算啊上面去了
严格意义上这是我的处女面,经验不足,哎
扫描法,如果检测到数字,新开辟一块小空间
如果这部分内容被改变了CSS样式,该怎么处理
如果是大写的汉字,怎么处理
如果是图片,怎么处理(OCR)