[面试]之:金山内推电话面试

完全没复习基础!啊啊啊啊啊,看来基础是很重要的妈惹惹惹惹惹惹。
趁还没忘记,记录问的问题。顺序乱的,能记起哪个就哪个。

1.项目之通讯
主volley框架。
1)自己写urlConnection,Universal-Image-Loader通信框架,volley框架的区别差异。(马马虎虎说出来了)
2)volley框架的原理。(想了有段时间才想起来,猪)
3)为什么volley需要开启一个缓存的线程?有什么用?(基本答不出。不开的话在主线程会oom?)
4)如果是自己写通信,会和volley有什么不同?(我说我最多只会写一个网络请求线程,简直就是傻,暴露缺点)

2.项目之自定义相机(我感觉这位面试官不是很知道相机用法呐,都没问什么深入的东西)
1)步骤(基本)
2)用的系统的服务有什么(获取摄像头参数之类的)
3)拍摄照片有什么问题(有啊,拉伸变形),怎么解决的?(设置三个参数一样)
4)忍不住了,自己讲了屏幕方向和相机传感器方向的区别,怎么设置竖屏应用的方向,感觉不说一下可能面试就要结束了。
5)紧接着项目问对surfaceview有什么了解?和其他view有什么区别?唉我就写相机的时候了解了一下而已,恶补!
(其他view共享surface,但是surfaceview有自己独立的surface,通过holder进行管理控制blablabla)
6)surfaceview这样独立的控制surface有什么好处?
7)你为什么不用其他的view而是用surfaceview?(这是个啥,啊因为独立啊可以自己控制啊。)独立控制有什么好处?
8)权限控制

什么bitmap内存优化、手机预览图像拉伸变形、怎么设置三个参数一样、项目里的jsaon数据解析都木有问(教训就是以后基本我讲面试官不要讲话了,不然面试官get不到你这个项目的重点,以后我就自顾自地把项目走一遍,嗯,就酱)

3.hashmap和treemap区别?(一个哈希一个树啊,具体好像又记忆模糊了)

4.进程间通信有什么?(靠,就记住了广播和内容提供器,其他都忘了。还有intent,bundle,service等,死蠢)

5.service怎么实现?(前几天才用过,忘得一干二净)

6.数据结构和算法了解吗?(就大概知道一些排序)

7.排序有哪些?(快排,冒泡[我怎么就那么傻,就记住了这两个],插入,选择,希尔,归并,基数……这么多你居然就记住了两个!)

8.快排和冒泡区别?(磕磕绊绊讲了快排过程[语言表达能力弱爆了],说了下时间复杂度(瞎讲))

9.有什么问题要问?(人员组成,结果人家也不知道)

就记住这么多了,大约是要挂的。


总结

从这次将近一个小时的电话面试(说好的半个小时呢?)暴露出来很多问题,比如,对项目的理解没有很透彻,囫囵吞枣;基础太差,java、数据结构与算法、android下功夫!(咦,操作系统和计网居然没有问,啊反正问了也忘了;面试官好像被我无语到开始问起c++了,真是抱歉)

另外,真是太对不住老师了,曾经学的东西,忘得干干净净还给老师了唉呀妈呀

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
金山软件公司c++面试题 一、请你就C/C++或者JAVA代码行数、注释行数统计工具的实现,描述一下: 1、 需要考虑哪些过滤条件?你如何处理? 答:过滤条件:(取得每行并去掉两头的空格后) ⑴空行,行的长度为0;⑵如果是以//开头,为注释行;⑶//在行中,并判断不是在字符串中,即“”中,为代码+注释混合行,//在“”中时为代码行;⑷如果/*在行中,判断是否是在“”内,否则为注释行,*/不在“”中时是结束 ;⑸/* */只在一行,判断行中是否有代码,无代码为注释行,有代码是混合行;⑹/* */多行,并且/*前无代码,/*后无代码,去掉其中空行都是注释行;⑺/* */多行,/*在代码后,或*/后有代码,有混合行;⑻一行中有2个/*并且就1个*/,此行为混合行,其后是注释行。 2、 怎样提升这个工具的易用性? 答:把这个工具设置成图形界面,用户只需输入文件名或者在文件对话框中选择文件即可点击运行输出结果。 本题只需要提供思路文档,不需要程序代码。 二、给定一个自然数n,试完成如下程序,它输出不大于n的所有素数(质数)。 1、 请提供程序代码,以及思路文档。 答:思路:求出一个数j的平方根sqrt(j),将j除以2~sqrt(j)之间的数,只要除尽一次,就不是素数,之后数j加2。 #include<stdio.h> #include<math.h> void main() { int N=1000; int i,j,k,m=0; for(j=1;j<N;j=j+2) /*1-N间的素数*/ { k=(int)sqrt(j); /*求平方根*/ for(i=2;i<=k;i++) { if(j%i==0) /*只要除尽一次,就不是素数*/ break; } if(i>k) /*/除到k一直没除尽,是素数*/ printf("%d ",j); } } 3、 请分析一下可以从哪些角度可优化该程序的时间性能? 答:偶数(除了2)不能为素数;判断一个数j是否为素数,只要将其除以2 ~ sqrt(j)之间的素数,更进一步,没有必要对所有奇数进行试除,只需对所有sqrt(j)以内的所有质数试除就可以了。 三、高精度乘法 用户输入两个不大于 256 位的正整数,由程序进行乘法运算,并显示运算过程与结果。例: 输入:12, 32

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值