首页 / 客户端
#

客户端

#
443066次浏览 4762人互动
此刻你想和大家分享什么
热门 最新
04-29 10:02
已编辑
腾讯_微信_客户端开发
想听实话吗,校招ssp聊聊大厂客户端
最近xhs刷到一些因为劝退不敢接字节客户端offer的,今天还是想聊聊这个话题。首先鄙人见识浅薄,认识的小厂客户端很少,所以小厂客户端不在讨论范围内,因为不了解。这里默认大家都能进大厂。(你都做客户端了,那不就是奔着大厂去的吗)简单自我介绍,本人211本,25校招大厂客户端基本都拿了,有几家ssp总包都60+回答第一个问题,客户端能不能进?答案是肯定的。估计很多人听到客户端就怕,因为刷到不少劝退帖,评论区也有人劝退。事实上这些劝退者大部分自己都不是客户端,也不认识很多大厂客户端的人,只是跟风劝退。我做客户端加起来也有半年多了,在腾讯字节都待过,实际感受并没有比后端差。我也问了相当多的同事,在腾讯pcg实习的时候甚至在open day上问了这个问题,得到的都是比较正面的回应。这里就针对劝退者劝退的几点做一下解释:1. 岗位少,集中在大厂,难以回小城市发展。确实主要是大厂有,但大厂的客户端岗位可不少,完全是能和前端差不多持平的水平。大厂也主要集中在北上广深成杭,所以如果很想回老家发展的那确实不建议入客户端。2. 逐渐被前端取代至于被前端取代,这点见仁见智。跨端确实是趋势,但这并不影响你客户端的饭碗,跨端又不是无端,怎么跨也得有人开发客户端吧。至于比较激进的大前端厂,前端移动端放一块的,那你作为客户端进去还能学前端,你还有什么好怕的呢?更不用说大公司永远离不开原生开发。3. 裁员第一线,校招就是减税背星工具人这一点主要是某第一人这种魔怔的在发,纯纯放屁。大厂裁员从来看的是业务,经常是一个部门一锅端,先裁客户端再裁后端根本闻所未闻。至于减税工具人,不招不是立减100%?开年薪四五十万招进来减税的?这也说得出口。4. 整天就是画UI,没有成长,没有技术含量,上限低不排除有这样的部门。但后端整天crud的不是更多吗,crud难道比画UI更有技术?你要觉得客户端就是画UI没技术,那不妨看看我主页的面经,你能答出来几个?至于上限低,首先你得达的到上限,其次但凡进过鹅厂,也能看到客户端有不少高T(T11,T12),我也见过有人客户端毕业4年跳槽1次总包120的。5. 校招容易,社招地狱难度,被裁就失业身边统计学,本人也认识不少客户端,有个别被裁的,也基本无缝去下一家公司了。也有主动跳槽的。在我看来这个所谓地狱难度是站不住脚的,大厂之间互相跳槽没有那么难。我先前在腾讯字节实习的两个部门,都有社招hc,并且招不到人。我也问了ld,说面试不难,经验和工作年限匹配就行。当然你也可以不认同,这只代表我的观点,有技术是不会怕跳槽不了的。那么客户端有什么好处?1. 竞争小,薪资高竞争小一方面是劝退的很厉害,客三消的观念深入人心(实际都几个三年了,消了吗)另一方面是学校确实也基本不教客户端,教的都是Java、数据库这些至少和后端沾边的技术。这些决定了应届做客户端的人越来越少,所以大厂招不到人,就会开出更高的薪资。例如字节客户端校招签字费就是9w起步,而后端只有1w。有基础的人不多,这也代表着你更容易脱颖而出,秋招大厂ssp乱杀。客户端大概是最容易应届总包50w以上的方向了。这就是最主要的优点,校招起薪其实很重要。有人说微信客户端顶多和小厂后端比,有中厂后端都不会考虑客户端,这种人非蠢即坏。你去小厂起薪10k,哪怕你后面跳到了大厂,也会卡你涨幅,结果达不到校招生的水平,到时候看看谁成小丑了。2. 技术比较通用本人纯做安卓的,完全没有iOS基础,进入微信一个月就作为最主要客户端开发参与一个iOS新功能的开发,并且比较顺利。一般跳槽也接受另一端的经验。3. 不太容易被AI取代大厂的客户端基建做的其实相当夸张了,基本用的都是自己的组件,自己的sdk。受限于上下文长度和检索信息能力,AI很难获取项目结构、知道应该用什么。AI目前在客户端开发上的作用主要体现在减少重复劳动,让它找规律生成一段代码或者直接用插件补全是不错的。业务大部分用AI写是不现实的。这是其一,其二客户端技术更新迭代速度很快,每年一个安卓、iOS大版本,都有很多新特性,都需要程序员去学习和适配。4. 广度和深度都很大客户端涉及的技术范围非常广,如果你有幸进入字节,可以在ByteTech里搜知识地图,这里不展开讲。至于深度,客户端是和操作系统打交道,前端是和浏览器打交道,谁更有深度高下立判了吧。当然写这个也不是建议大家来客户端,只是希望消除一些偏见,理性讨论。 再次叠甲,重复一次,讨论的是大厂客户端,小厂不在讨论范围内。
牛氓立章哥哥:25校招?那就是还没正式入职。 mark一下,蹲一个两年后😊
投递字节跳动等公司7个岗位
点赞 评论 收藏
分享
2024-11-10 20:16
已编辑
西北工业大学 安卓
客户端劝退答疑之哪种岗位算天坑客户端
仅个人观点,不劝退客户端小将,客户端小将完美适合客户端,什么帽带什么头。十一月又是选择offer的季节,hr为了达成kpi会对大家都知道坑的客户端岗位进行美化,而导致很多没社会经验的无脑小白被忽悠,因为一个信息差而导致了未来可能的职业悲剧。我将打破这些kpi技俩,消灭信息差。天坑客户端,泛指一些跟随硬件系统的开发(pc,ios Android 塞班 以及某新操作系统)。特征:做的工作是ui相关的,强依赖某系统语言,面试时候接受零基础的恭喜你,大概率就是天坑客户端。有人问,手机framework的怎么样我想说,上层应用都凉凉了,你问做底层的怎么样,前景不言而喻。半个客户端:看起来不是客户端,但工作却跟客户端强耦合特征:c+ 客户端工程师,音视频客户端工程师rn客户端 flutter客户端 跨端客户端工程师 手机应用工程师这种确实不像客户端业务的,但也没比客户端好到哪里去,尽量不要选这种依赖客户端的,你学的很多技能 跳槽没有认可度。不属于客户端:游戏客户端游戏客户端不属于劝退的客户端范畴,游戏客户端里有很多技术大神,很适合去推动游戏行业的发展,吊打天坑客户端。希望大家在选择offer的时候擦亮双眼不要被高几k的客户端所蒙骗,天下没免费的午餐,上天的馈赠,早已标好了价格。以上仅个人观点,选择是否成为客户端新人,自己选择为主。               
王行知🐳:enmmm,感觉C++音视频客户端还可以吧,一些播放器编码解码,需要一些前置知识,不只是一些UI的绘制啥的,我也是小白,不确定我的理解对不对
投递完美世界等公司7个岗位
点赞 评论 收藏
分享
05-11 22:04
门头沟学院 Java
腾讯元宝客户端一面
前面就是基本上是八股盛宴,然后看你说什么词触发他被动然后追着问。复盘的时候确实发现底层网络和操作系统问得挺细的,可能客户端偏底层?总体来说面得挺舒服的,面试官也很友善,一个小时很快就过去了。提问环节:1. 自我介绍2. 面试官强调这是客户端面试 说明一下base地,进来要转cpp3. 了解cpp吗?不了解,对于两者的理解我认为最大的不同在于内存管理,cpp可以灵活地控制内存,提高程序运行效率。Java通过jvm来进行内存管理,好处是系统自动分配内存和垃圾回收,安全简单,缺点就是不能更颗粒度地操作内存。还有就是cpp的学习曲线比较陡峭,其他的就不太清楚了。4. Java集合有哪几种?ArrayList,Linkedlist,HashSet,hashmap,ConcurrentHashMap5. ArrayList和LinkedList有什么区别?底层实现,读写应用场景,6. 具体到每一个节点上,他们两在内存占用上哪个更优?ArrayList底层是连续内存的动态数组,利用了计算机的局部最优特性,所以更优一些7. 什么是反射?通过类名在程序运行时构建类实例,操作类方法,类字段,增强编码的灵活性和解耦,但是也存在着安全的隐患8. JVM是如何反射构建类对象的?通过方法区中存放的类信息,字段和方法,去构建类对象实例9. 讲一下类加载机制,描述一下类是如何被加载的?加载-验证-准备-解析-初始化-使用,然后具体内容10. 类加载的时候,它对静态成员变量和非静态成员变量的处理具体有什么不同?静态放在方法区,局部变量放在堆,基本数据类型放在栈帧11. 讲一下CAS是什么?12. 有没有遇到ABA问题?13. Mysql底层存储的数据结构是什么?14. 平时写sql查询语句时需要注意什么,对查询进行优化,结合一个例子说明?15. 你的主表的主键ID是增长是+1吗?还是怎么样?16. 推荐使用顺序递增索引,说了一下顺序递增和UID的优缺点17. 有遇到并发插入,出现ID空洞的情况吗?没有,加行锁了18. 你刚刚说了行锁是吧,那Mysql具体有哪些锁?行锁、表锁、全局锁,间隙锁防止幻读19. 什么是幻读?20. 我看你有提到计算机网络,介绍一下UDP和TCP差异21. 如果在客户端建立TCP的话,一般会怎么做?(愣了一下)一般是操作系统底层通过协议栈来进行网络连接,通过JavaAPI来操作Socket层来进行网络连接通信22. 你有用过java的Socket相关的这些,手动去建立连接的API吗?用过简单的http网络请求连接,还有使用Java的网络应用框架Netty来进行网络通信,可以自定义消息序列方式和序列头等信息23. 你刚才提到操作系统负责网络连接,你知道操作系统提供的TCP的API是什么吗?不太清楚,没有在操作系统层面上实现过这种网络通信的调用24. 解释一下TCP和HTTP这两个专有名词?25. HTTP一定要建立在TCP上吗?还是说UDP也可以?26. 你刚刚说了QUIC协议,关于QUIC你知道哪些呢?27. 既然你提到了中间密钥,那它建立连接的大概过程是什么?28. TCP协议的握手是干什么的,为什么要有握手的过程?29. 它如何保证不接收过去的数据呢?30. 说了一个乱七八糟的问题,什么什么API和你刚刚说的握手有什么关系?(没听懂)31. 那我换一个问法,你知道半连接队列吧?那它在握手的哪一步把链接从半连接移到全连接队列?32. 如果第三次握手的ACK,客户端没收到,会怎么样?33. OK网络相关的就,嗯(话锋一转),HTTP头的大概结构你清不清楚?34. 问你两个操作系统相关的问题,kill命令有用过吗?(玛德没听清,没回答出来)结束一个进程一般用shutdown或者close函数35. 嗯我不是说在你程序内,那你有个jar包跑起来了,你怎么把它删掉?一般在服务器上用docker部署多个容器,用docker stop来停掉程序36. 那你知道在Linux平台,进程退出的时候会有几种信号,你知道几种它们有什么不同?不清楚具体哪个信号,说了个shutdown和shutdownNowPS:GPT说有6种,对应不同触发的方式:SIGHUP是终端关闭挂起,SIGNT是Ctrl键+c优雅退出,SIGQUIT是Ctrl键+\用于调试,SIGKILL是强制终止进程,SIGTERM是kill <PID>用来杀死进程优雅终止,SIGTOP是暂停进程可恢复37. OK,那你对Window系统相关的知识了解吗?不太清楚,只用过一些简单命令行做题:翻转数字?(“123456”输出“654321”)聊天环节:1. 因为我们这边是客户端开发,你这个经验都是服务端的,有做过安卓或者是其他平台的开发吗?做过一个功能比较全的C#全栈作业2. 那你愿意找客户端吗?(灵魂拷问)(流汗黄豆)可以考虑反问:3. 腾讯对于转语言或者转岗位的同学会有过渡的培训吗?会有,但也看部门,主要是看你有没有意愿去做这个方向的工作4. 元宝客户端具体是做PC端还是移动端?都有,具体看你兴趣就行(😥)5. 那具体的业务是干什么的?业务就是元宝客户端,你在各个平台都能搜到的吧,这就是我们的业务(😥这不没说吗?)6. 那客户端主要的工作是集中在哪些方面?用户使用界面?类似前端JS的逻辑处理?都会做,不光是UI展示,还有用户交互层面,也有数据要处理。虽说是客户端,但是整个数据的上下链路都是要做的7. 腾讯对实习生会不会苛刻一些?主要看不同部门的要求,我们这边还好,更注重你的基础是否扎实,解决问题的能力。
点赞 评论 收藏
分享
02-22 17:38
已编辑
浙江工业大学 Unity3D客户端
字节Java客户端一面
Java有哪些垃圾回收算法Java线程介绍一下Java 当中的这个线程池了解吗?线程池有哪些参数?线程和进程的区别?进程间通信方式有哪些?(从操作系统级别回答)了解数据库这块的事务吗?它有什么特性?讲一下各个特性是什么含义解释一下持久性,以及如何实现持久性讲一下数据库事务隔离级别什么是数据库的索引,它的作用是什么?什么情况下适合创建索引什么情况下不适合?索引它对数据量数据库的数据量有要求吗?B 树和 B +树,那这两个数有什么区别吗?外键了解吗?外键可以加索引吗?如果使用外键和其它表进行联查能走索引吗?SQL 表的话,它的连接方式有哪些,返回的内容是什么?那你知道它的返回内容是啥吗?比如说内连接它返回的是什么?是什么样的一个数据?或者说内连接和它跟左连接,右连接的返回方式的返回值有什么区别吗?了解 GET 请求和 POST 请求区别吗?TCP和UDP区别?HTTP请求如何保证连接安全?(从拥塞控制、重传机制角度说)HTTPS相比与HTTP做了什么?Android里有哪四大组件?Activity有哪些生命周期函数?如果Activity切换到后台会发生什么?调用什么函数?如果Activity用a页面切换到b页面会调用各自的什么生命周期函数?再切换回来呢?Activity如果长时间在后台没有切换回来会怎样?Activity如何接收其它app的消息?算法题:空间复杂度O(1)的最近公共祖先面试官评价与建议:项目经历和简历不错,计算机体系基础知识不熟,需要再加强面试官人非常好,八股答不出来会给提示,会引导思路
查看27道真题和解析
点赞 评论 收藏
分享
百度暑期二面面经 安卓 移动端 客户端
1. 自我介绍2. 进程线程你有什么理解3. OS进程间通信方式4. 你了解哪些锁5. 进程调度算法6. LRU你是怎么理解的7. 死锁需要哪些条件8. Https http区别9. tcp 三次握手、四次挥手过程10. 网络请求方式问:get post 区别问:get 对parms长度有限制吗问:post可以传params吗11. 数据结构了解哪些12. 二叉搜索树最坏情况是什么解决方案?13. 了解哪些排序算法问:超大的文件,然后怎么排序(归并排序)14. java引用类型软引用弱引用区别15. hashmap原理16. Java  final和finaly和finalice有什么区别在finally之前也就是try的过程就return 掉,finally的代码会执行吗17. java中怎么判断一个对象应该被回收18. 简单讲下垃圾回收机制19. 内存泄露和内存溢出区别20. 安卓handler机制21. looper怎么唤醒22. Recyclerview 的四级缓存池有什么区别23. 为什么应用会ANR24. 安卓的一个运行机制有没有了解安卓从点击应用图标到拉起整个应用渲染的过程25. dart是值传递还是引用传递26. dart的线程模型你了解吗27. flutter应用从启动到显示过程28. flutter和原生是怎么通信的29. statelesswidget和statefulwidget区别30. statefulwidget有哪些生命周期31. flutter的一个渲染流程(三棵树)32. flutter的优缺点33. image.network有了解过内存压力吗34. git操作使用规范35. 算法:升序排列的链表,让你把他变成平衡二叉搜索树
点赞 评论 收藏
分享
三代客户端人的守望与传承
父亲的键盘声:塞班时代的光与影小时候的我,对父亲的职业充满了好奇。他是个塞班客户端开发者,那时的我并不理解什么是开发者,父亲总是说他从事的是下一个时代的工作,会时常对这一台陈旧的电脑埋头工作,键盘声中透着焦虑与对未来的期望。那个时候,他总说:“Symbian就是未来。”家里的大大小小橱柜上总是摆放着父亲参与过的项目,那是他用C++和Symbian框架编写的辉煌记录。小时候的我,常常趴在他旁边看,听他说“要做客户端,性能优化才是王道!”那时,我暗下决心,长大后也要成为像他一样的客户端程序员。噩梦的开始:和安卓的不解之缘时间来到10年代初,移动客户端全面转型,塞班慢慢没落了,此时此刻iOS和Android崛起,成了移动市场的新王,由于家境贫寒,买不起iOS设备,我如愿以偿地成为了一名客户端开发者。初入职场,我充满干劲。我们团队忙着适配各种机型、调试各种崩溃问题,尤其是要搞定五花八门的UI兼容。还记得某个晚上,我为了修复一个ANR(应用无响应)问题熬到凌晨四点。那天晚上,我觉得自己好像理解了父亲当年的疲惫。他敲下每一行代码时,或许也曾怀疑过:“这真的值得吗?”几年过去,安卓和iOS的生态都趋于成熟,我从一个代码小兵变成了项目负责人,甚至参与了一些底层优化工作。可随着行业的内卷化,收入开始不再涨,技术红利消散,每天加班的我,逐渐对“客户端”这两个字丧失了激情。三十而立:未来又在何方如今,我已过而立之年,有了自己的家庭。婚姻状况也每况愈下,可生活却不如想象中的稳定。客户端岗位逐渐饱和,新技术层出不穷,跨平台框架更是如雨后春笋般出现。Flutter、Compose的兴起,让我们这些原生开发者倍感焦虑。每当夜深人静,我看着镜子里逐渐稀疏的头发,问自己:“当初的选择对吗?”客户端开发这条路,走了十年,好像越走越窄。更令人痛苦的是,收入的增速远赶不上房贷和奶粉钱。和家人交流的也越来越少,整个家都濒临崩溃。新的噩梦今天正在查线上崩溃,儿子趴在桌前,好奇地问我:“爸爸,你在干嘛?”我愣住了,半天没抬头。屏幕上的崩溃日志像一片深不见底的泥沼,我盯了许久,却不知道该从哪里下手。脑袋里一片混乱,工作任务堆成了山,未来却看不到一丝光亮。儿子用稚嫩的声音又问了一遍:“爸爸,这个是什么?”我抬头看着他,那双充满好奇的小眼睛像极了曾经的我。可是,眼前的一切让我说不出话来。曾经我对着父亲的屏幕满怀向往,而现在,我却只想告诉他:“别靠近这台电脑,别走上这条路。”我轻轻合上了笔记本,掩盖住屏幕上那些凌乱的日志和未解的Bug,长长地叹了一口气。房间里很安静,只有外面的呼啸的风声在提醒着我,这条路已经让我筋疲力尽。那一刻,我的绝望不是因为软件工程本身,而是因为客户端我已经看不到任何值得坚持的理由。三代人的守望与传承 好想重来,一切都是因为客户端。可惜,生活没有重来的机会,市场和人生也不会给客户端任何机会。          
点赞 评论 收藏
分享
关于车载安卓 UI 岗位的劝退信
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客企业服务